# Minimum CMake version required
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.1.1)
- SET(CMAKE_BACKWARDS_COMPATIBILITY 3.1.1 CACHE STRING "Latest version of CMake when this project was released." FORCE)
-ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.1.1)
+IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.3.2)
+ SET(CMAKE_BACKWARDS_COMPATIBILITY 3.3.2 CACHE STRING "Latest version of CMake when this project was released." FORCE)
+ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.3.2)
# CMAKE_BUILD_TYPE is set to value "Release" if none is specified by the
# selected build file generator. For those generators that support multiple
SET(DCMTK_BUILD_VERSION 1)
# The ABI is not guaranteed to be stable between different snapshots/releases,
# so this particular version number is increased for each snapshot or release.
-SET(DCMTK_ABI_VERSION 7)
+SET(DCMTK_ABI_VERSION 8)
# Package "release" settings (some are currently unused and, therefore, disabled)
SET(DCMTK_PACKAGE_NAME "dcmtk")
ENDIF(COMMAND CMAKE_POLICY)
# pass optional build date to compiler
-ADD_DEFINITIONS(-DDCMTK_BUILD_DATE=\\\"2015-09-24\\\")
+ADD_DEFINITIONS(-DDCMTK_BUILD_DATE=\\\"2016-02-16\\\")
# make OFString(NULL) safe by default
ADD_DEFINITIONS(-DUSE_NULL_SAFE_OFSTRING)
#pragma warning( disable : 4996 ) /* disable warnings about "deprecated" C runtime functions */
#pragma warning( disable : 4351 ) /* disable warnings about "new behavior" when initializing the elements of an array */
#endif /* _MSC_VER >= 1400 */
+/* Disable min() and max() macros pre-defined by Microsoft. We define our own
+ * version in oflimits.h and on Windows that could result in name clashes in
+ * Visual Studio.
+ */
+#define NOMINMAX
#endif /* _MSC_VER */
/* Define if your system defines ios::nocreate in iostream.h */
# Install global headers
INSTALL(FILES ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h
+ ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h
DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk/config
COMPONENT include)
copyright:
/*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved.
*
* This software and supporting documentation were developed by
---------------------------------------------------------------------------
Copyright (c) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
-Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
All rights reserved.
Redistribution and use in source and binary forms, with or without
---------------------------------------------------------------------------
-Copyright (c) 2015, J. Riesmeier, Oldenburg, Germany
+Copyright (c) 2015-2016, J. Riesmeier, Oldenburg, Germany
All rights reserved.
Redistribution and use in source and binary forms, with or without
# POSSIBILITY OF SUCH DAMAGE.
---------------------------------------------------------------------------
+
+The cielabutil source code (class IODCLabUtil) is adapted from Pascal Getreuer's
+package for converting color representations
+
+ http://www.getreuer.info/home/colorspace
+
+which comes with the following original copyright:
+
+---------------------------------------------------------------------------
+
+Copyright © 2005–2010, Pascal Getreuer
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+ Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---------------------------------------------------------------------------
-3.6.1_20150924
+3.6.1_20160216
#
# We want the old behavior of OFString(NULL) for now, no crashes.
-GLOBALDEFS = @DEFS@ -DDCMTK_BUILD_DATE=\"2015-09-24\" -DUSE_NULL_SAFE_OFSTRING -DDCMTK_BUILD_IN_PROGRESS
+GLOBALDEFS = @DEFS@ -DDCMTK_BUILD_DATE=\"2016-02-16\" -DUSE_NULL_SAFE_OFSTRING -DDCMTK_BUILD_IN_PROGRESS
#
# ARCH defines special machine archtecture compiler settings
include-install:
./mkinstalldirs $(DESTDIR)$(includedir)/dcmtk/config
$(INSTALL_DATA) include/dcmtk/config/osconfig.h $(DESTDIR)$(includedir)/dcmtk/config
+ $(INSTALL_DATA) include/dcmtk/config/arith.h $(DESTDIR)$(includedir)/dcmtk/config
docs-install:
./mkinstalldirs $(DESTDIR)$(docdir)
const int has_inf = print_flag
(
out,
- OFStandard::isinf(t),
+ OFMath::isinf(t),
"HAS_INFINITY",
name,
7
const int has_qnan = print_flag
(
out,
- OFStandard::isnan( t ),
+ OFMath::isnan( t ),
"HAS_QUIET_NAN",
name,
7
{
// Create signaling NaNs and test if they really are signaling NaNs
const T& t = guess<T>::snan();
- int flag = OFStandard::isnan( t ) && test_trap( &provoke_snan<T> );
+ int flag = OFMath::isnan( t ) && test_trap( &provoke_snan<T> );
// Disable floating point exceptions that have been enabled for the test,
// Windows and Unix version.
#ifdef HAVE_WINDOWS_H
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
DCMTK_ENABLE_BUILTIN_DICTIONARY=true
+
+$as_echo "#define ENABLE_BUILTIN_DICTIONARY /**/" >>confdefs.h
+
;;
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-o
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct pwd contains the field pw_gecos" >&5
$as_echo_n "checking whether struct pwd contains the field pw_gecos... " >&6; }
dnl including the populated dictionary object and not the
dnl empty dummy dictionary in dcmdata
DCMTK_ENABLE_BUILTIN_DICTIONARY=true
- AC_DEFINE(ENABLE_BUILTIN_DICTIONARY, , [Define if we are compiling for loading external dictionary from default path.])
+ AC_DEFINE(ENABLE_BUILTIN_DICTIONARY, , [Define if we are compiling with built-in (compiled-in) dictionary enabled.])
;;
*)
AC_MSG_RESULT(no)
AC_CHECK_ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES([ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES])
AC_CHECK_ALIGNAS_SUPPORTS_TYPEDEFS([ALIGNAS_SUPPORTS_TYPEDEFS])
AC_CHECK_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE([HAVE_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE])
-o
+
dnl -------------------------------------------------------
dnl Test if passwd has the pw_gecos field
dnl -------------------------------------------------------
ENABLE_BUILTIN_DICTIONARY
Affected: dcmdata
- Type of modification: Enables or disables population of builtin dictionary
+ Type of modification: Activates feature
Explanation: If enabled, DCMTK's global builtin dictionary, that is always
loaded on startup, is populated with known DICOM tags. Otherwise, the
builtin dictionary stays empty. For more further information about
/* Define the default directory where support data files reside. */
#undef DEFAULT_SUPPORT_DATA_DIR
+/* Define if we are compiling with built-in (compiled-in) dictionary enabled.
+ */
+#undef ENABLE_BUILTIN_DICTIONARY
+
/* Define if we are compiling for loading external dictionary from default
path. */
#undef ENABLE_EXTERNAL_DICTIONARY
-/* Define if we are compiling with built-in dictionary */
-#undef ENABLE_BUILTIN_DICTIONARY
-
/* Define if we are compiling for enabling external private tag dictionary. */
#undef ENABLE_PRIVATE_TAGS
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcistrmz.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcistrmz.h
dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcostrmz.h \
- ../include/dcmtk/dcmdata/dcistrmz.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcistrmz.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcrleerg.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcrleerg.h
dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcrledrg.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcrledrg.h
dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcistrmz.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcistrmz.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcmftest.o: dcmftest.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcddirif.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcddirif.h
dcmodify.o: dcmodify.cc ../../config/include/dcmtk/config/osconfig.h \
mdfconen.h ../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcdatset.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \
- ../include/dcmtk/dcmdata/dcostrmz.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcostrmz.h
img2dcm.o: img2dcm.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcdefine.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcfilefo.h \
../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h mdfdsman.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dctk.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcistrmz.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcistrmz.h
mdfdsman.o: mdfdsman.cc ../../config/include/dcmtk/config/osconfig.h \
mdfdsman.h ../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpath.h \
- ../include/dcmtk/dcmdata/dcistrmf.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcistrmf.h
pdf2dcm.o: pdf2dcm.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dccodec.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dccodec.h
xml2dcm.o: xml2dcm.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \
../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \
- ../include/dcmtk/dcmdata/dcostrmz.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcostrmz.h
/*
*
- * Copyright (C) 2002-2015, OFFIS e.V.
+ * Copyright (C) 2002-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
/* the dataset contains non-ASCII characters that really should not be there */
OFLOG_ERROR(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": SpecificCharacterSet (0008,0005) "
- << "element absent (on the main dataset level) but extended characters used in file: " << ifname);
+ << "element absent (on the main data set level) but extended characters used in file: " << ifname);
OFLOG_DEBUG(dcm2xmlLogger, "use option --charset-assume to manually specify an appropriate character set");
- return EC_IllegalCall;
+ return makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Missing Specific Character Set");;
} else {
OFString sopClass;
csetString = defaultCharset;
else {
OFLOG_FATAL(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": Character set '"
<< defaultCharset << "' specified with option --charset-assume not supported");
- return EC_IllegalCall;
+ return makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Cannot select character set");
}
/* check whether this file is a DICOMDIR */
if (dfile->getMetaInfo()->findAndGetOFString(DCM_MediaStorageSOPClassUID, sopClass).bad() ||
{
/* use "debug" instead of "warn" in order to avoid too much output in default mode */
OFLOG_DEBUG(dcm2xmlLogger, "ignoring character set '" << defaultCharset
- << "' specified with option --charset-assume since it is not needed for this dataset");
+ << "' specified with option --charset-assume since it is not needed for this data set");
}
/* by default, we use UTF-8 encoding */
encString = "UTF-8";
cmd.addOption("--charset-require", "+Cr", "require declaration of extended charset (def.)");
cmd.addOption("--charset-assume", "+Ca", 1, "[c]harset: string",
"assume charset c if no extended charset declared");
- cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST and UT)");
+ cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST, UC and UT)");
#ifdef WITH_LIBICONV
cmd.addOption("--convert-to-utf8", "+U8", "convert all element values that are affected\nby Specific Character Set (0008,0005) to UTF-8");
#endif
if (stream.good())
{
/* write content in XML format to file */
- if (writeFile(stream, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename,
- opt_defaultCharset, opt_writeFlags, opt_checkAllStrings).bad())
+ status = writeFile(stream, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename,
+ opt_defaultCharset, opt_writeFlags, opt_checkAllStrings);
+ if (status.bad())
+ {
+ OFLOG_ERROR(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": error (" << status.text() << ") writing file: "<< ofname);
result = 2;
+ }
} else
result = 1;
} else {
/* write content in XML format to standard output */
- if (writeFile(COUT, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename,
- opt_defaultCharset, opt_writeFlags, opt_checkAllStrings).bad())
+ status = writeFile(COUT, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename,
+ opt_defaultCharset, opt_writeFlags, opt_checkAllStrings);
+ if (status.bad())
+ {
+ OFLOG_ERROR(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": error (" << status.text() << ") writing to standard output");
result = 3;
+ }
}
}
} else {
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
if (stopOnErrors) return result;
}
}
+#else
+ // avoid compiler warning on unused variable
+ (void)convertToUTF8;
#endif
size_t pixelCounter = 0;
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* - General Purpose BD Interchange with MPEG2 MP@HL (STD-GEN-BD-MPEG2-MPHL)
* - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41)
* - General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD)
+ * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D)
+ * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D)
+ * - General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42)
* - General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG)
* - General Purpose USB and Flash Memory Interchange with JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K)
* - General Purpose MIME Interchange (STD-GEN-MIME)
cmd.addOption("--general-bd-mpeg2-mphl", "-Pbh", "General Purpose BD Interchange with MPEG2\nMP@HL (STD-GEN-BD-MPEG2-MPHL)");
cmd.addOption("--general-bd-mpeg4-hp", "-Pba", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41)");
cmd.addOption("--general-bd-mpeg4-hpbd", "-Pbb", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 BD-Compatible HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41BD)");
+ cmd.addOption("--general-bd-mpeg4-hp2d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 2D video\n(STD-GEN-BD-MPEG4-HPLV42-2D)");
+ cmd.addOption("--general-bd-mpeg4-hp3d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 3D video\n(STD-GEN-BD-MPEG4-HPLV42-3D)");
+ cmd.addOption("--general-bd-mpeg4-hpst", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 Stereo HiP@Level4.2\n(STD-GEN-BD-MPEG4-SHPLV42)");
cmd.addOption("--usb-and-flash-jpeg", "-Pfl", "General Purpose USB/Flash Memory Interchange\nwith JPEG (STD-GEN-USB/MMC/CF/SD-JPEG)");
cmd.addOption("--usb-and-flash-j2k", "-Pf2", "General Purpose USB/Flash Memory Interchange\nwith JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K)");
cmd.addOption("--general-mime", "-Pmi", "General Purpose MIME Interchange\n(STD-GEN-MIME)");
opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41;
if (cmd.findOption("--general-bd-mpeg4-hpbd"))
opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41BD;
+ if (cmd.findOption("--general-bd-mpeg4-hp2d"))
+ opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_2D;
+ if (cmd.findOption("--general-bd-mpeg4-hp3d"))
+ opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_3D;
+ if (cmd.findOption("--general-bd-mpeg4-hpst"))
+ opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4StereoHPatLV42;
if (cmd.findOption("--usb-and-flash-jpeg"))
opt_profile = DicomDirInterface::AP_USBandFlashJPEG;
if (cmd.findOption("--usb-and-flash-j2k"))
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* two characters. If the VR can determined from the tag, this part
* of a line is optional.
* Value: There are several rules for writing values:
- * 1. US, SS, SL, UL, FD, FL are written as decimal strings that can
- * be read by scanf().
+ * 1. US, SS, SL, UL, FD, FL, OD, OF and OL are written as decimal
+ * strings that can be read by scanf().
* 2. AT is written as '(gggg,eeee)' with additional spaces stripped
* off automatically and gggg and eeee being decimal strings that
* can be read by scanf().
/*
*
- * Copyright (C) 2003-2010, OFFIS e.V.
+ * Copyright (C) 2003-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/** This class encapsulates data structures and operations for modifying
- * Dicom files. Therefore it allows the process of load->modify->save to
+ * DICOM files. Therefore it allows the process of load->modify->save to
* provide this service.
*/
class MdfDatasetManager
@param readMode read file with or without metaheader. Default=autodetect
@param xfer try to read with this transfer syntax. Default=autodetect
@param createIfNecessary If true, the file is created if it does not exist
- * @return returns EC_normal if everything is ok, else an error
+ * @return returns EC_Normal if everything is OK, else an error
*/
OFCondition loadFile(const char *file_name,
const E_FileReadMode readMode = ERM_autoDetect,
* @param no_reservation_checks if true, any missing private reservation
* tags are ignored when inserting private
* tags. Only makes sense w/o only_modify
- * @return returns EC_normal if everything is ok, else an error
+ * @return returns EC_Normal if everything is OK, else an error
*/
OFCondition modifyOrInsertPath(OFString tag_path,
const OFString &value,
* @param no_reservation_checks if true, any missing private reservation
* tags are ignored when inserting private
* tags. Only makes sense w/o only_modify
- * @return returns EC_normal if everything is ok, else an error
+ * @return returns EC_Normal if everything is OK, else an error
*/
OFCondition modifyOrInsertFromFile(OFString tag_path,
const OFString &filename,
/** Modifies all matching tags in dataset to a new value
* @param tag_path denotes, which tag to modify
* @param value denotes new value of tag
- * @param update_metaheader if true, metaheader uids are updated,
- * if related dataset uids are changed, (default=true)
+ * @param update_metaheader if true, metaheader UIDs are updated,
+ * if related dataset UIDs are changed, (default=true)
* @param count returns holds the number of tags, that were affected
* @param ignore_missing_tags if true, tags that could not be found
* while modifying (only_modify must be true)
* are handled as non-errors
- * @return returns EC_normal if everything is ok, else an error
+ * @return returns EC_Normal if everything is OK, else an error
*/
OFCondition modifyAllTags(OFString tag_path,
const OFString &value,
* @param ignore_missing_tags if true, tags that could not be found
* while modifying (only_modify must be true)
* are handled as non-errors
- * @return returns EC_normal if everything is ok, else an error
+ * @return returns EC_Normal if everything is OK, else an error
*/
OFCondition deleteTag(OFString tag_path,
const OFBool all_tags,
const OFBool ignore_missing_tags);
- /** Deletes all private data from file, ie. all tags having
+ /** Deletes all private data from file,\ i.e. all tags having
* odd group numbers.
* @return EC_Normal, if deletion was successful; error code otherwise
*/
/** Inserts new Study, Series or SOP Instance UID. If SOP Instance
* UID is generated, the related tag in the metaheader is deleted, too
* so that the new UID is also applied there when saving to disk later.
- * @param uidkey [in] The Instance UID to insert (study, series or sop
+ * @param uidKey [in] The Instance UID to insert (study, series or sop
* instance UID key permitted).
* @return EC_Normal, if insertion was successful, error otherwise
*/
* @param file_name filename to save to
* @param opt_xfer transfer syntax to save to (EXS_Unknown: dont change)
* @param opt_enctype write with explicit or implicit length encoding
- * @param opt_glenc option to set group lenghth calculation mode
+ * @param opt_glenc option to set group length calculation mode
* @param opt_padenc sets padding option
* @param opt_filepad pad file to a multiple of this options value
* @param opt_itempad pad item to a multiple of this options value
* @param opt_dataset if true:ony write only dataset, else write fileformat
- * @return returns EC_normal if everything is ok, else an error
+ * @return returns EC_Normal if everything is OK, else an error
*/
OFCondition saveFile(const char *file_name,
E_TransferSyntax opt_xfer = EXS_Unknown,
/** Saves current dataset back to file using original filename and original
* parameters like transfer syntax, padding etc.
- * @return returns EC_normal if everything is ok, else an error
+ * @return returns EC_Normal if everything is OK, else an error
*/
OFCondition saveFile();
/** Returns the DcmFileFormat, that this MdfDatasetManager handles.
* You should use the returned object with care to avoid
- * sideeffects with other class methods, that modify this object, too.
+ * side-effects with other class methods, that modify this object, too.
* @return returns the DcmFileFormat, this MdfDatasetManager manages and
* NULL, if no file is loaded
*/
/** If key is the tag for SOPInstanceUID or SOPClassUID, then this function
* removes the related MediaStorage UIDs from the metaheader. The
- * metaheader is then updated automagically when the file is saved back to
+ * metaheader is then updated "automagically" when the file is saved back to
* disk.
* @param key tag to examine
*/
/*
*
- * Copyright (C) 2003-2015, OFFIS e.V.
+ * Copyright (C) 2003-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
} else {
OFString dicomVal;
/* convert character set from UTF-8 (for specific VRs only) */
- if (((dcmEVR == EVR_PN) || (dcmEVR == EVR_SH) || (dcmEVR == EVR_LO) ||
- (dcmEVR == EVR_ST) || (dcmEVR == EVR_LT) || (dcmEVR == EVR_UT)) &&
- (xmlStrlen(elemVal) > 0) && convertUtf8ToCharset(elemVal, dicomVal))
+ if (element->isAffectedBySpecificCharacterSet() &&
+ (xmlStrlen(elemVal) > 0) && convertUtf8ToCharset(elemVal, dicomVal))
{
result = element->putOFStringArray(dicomVal);
} else {
#
-# Copyright (C) 1994-2015, OFFIS e.V.
+# Copyright (C) 1994-2016, OFFIS e.V.
# All rights reserved. See COPYRIGHT file for details.
#
# This software and supporting documentation were developed by
#
# Generated automatically from DICOM PS 3.6-2015c and PS 3.7-2015c.
# File created on 2015-07-05 12:23:01 by J. Riesmeier on thinkpad.
-# File updated manually on 2015-09-18 by J. Riesmeier.
+# File updated manually on 2016-01-25 by J. Riesmeier.
#
# In addition, the data dictionary entries from the following final text
# supplements and correction items (CP) have been incorporated:
-# - Supplement 156
-# - CP 1441, 1454, 1458, 1461
+# - Supplement 156, 181, 184
+# - CP 1364, 1431, 1432, 1441, 1454, 1457, 1458, 1460, 1461, 1478 (WC), 1487,
+# 1496, 1499, 1504, 1516
+# "WC" means "Draft Final Text - Waiting for Codes"
#
# Each line represents an entry in the data dictionary. Each line has 5 fields
# (Tag, VR, Name, VM, Version). Entries need not be in ascending tag order.
#
#---------------------------------------------------------------------------
#
-# Correction Items 1441, 1454, 1458, 1461
+# Supplement 181 (Tractography Results Storage SOP Class)
#
+(0066,0101) SQ TrackSetSequence 1 Supplement_181
+(0066,0102) SQ TrackSequence 1 Supplement_181
+(0066,0103) OW RecommendedDisplayCIELabValueList 1 Supplement_181
+(0066,0104) SQ TrackingAlgorithmIdentificationSequence 1 Supplement_181
+(0066,0105) UL TrackSetNumber 1 Supplement_181
+(0066,0106) LO TrackSetLabel 1 Supplement_181
+(0066,0107) UT TrackSetDescription 1 Supplement_181
+(0066,0108) SQ TrackSetAnatomicalTypeCodeSequence 1 Supplement_181
+(0066,0121) SQ MeasurementsSequence 1 Supplement_181
+(0066,0124) SQ TrackSetStatisticsSequence 1 Supplement_181
+(0066,0125) OF FloatingPointValues 1 Supplement_181
+(0066,0129) OL TrackPointIndexList 1 Supplement_181
+(0066,0130) SQ TrackStatisticsSequence 1 Supplement_181
+(0066,0132) SQ MeasurementValuesSequence 1 Supplement_181
+(0066,0133) SQ DiffusionAcquisitionCodeSequence 1 Supplement_181
+(0066,0134) SQ DiffusionModelCodeSequence 1 Supplement_181
+#
+#---------------------------------------------------------------------------
+#
+# Supplement 184 (Brachytherapy Delivery Instruction)
+#
+(0074,1401) SQ BrachyTaskSequence 1 Supplement_184
+(0074,1402) DS ContinuationStartTotalReferenceAirKerma 1 Supplement_184
+(0074,1403) DS ContinuationEndTotalReferenceAirKerma 1 Supplement_184
+(0074,1404) IS ContinuationPulseNumber 1 Supplement_184
+(0074,1405) SQ ChannelDeliveryOrderSequence 1 Supplement_184
+(0074,1406) IS ReferencedChannelNumber 1 Supplement_184
+(0074,1407) DS StartCumulativeTimeWeight 1 Supplement_184
+(0074,1408) DS EndCumulativeTimeWeight 1 Supplement_184
+(0074,1409) SQ OmittedChannelSequence 1 Supplement_184
+(0074,140A) CS ReasonForChannelOmission 1 Supplement_184
+(0074,140B) LO ReasonForChannelOmissionDescription 1 Supplement_184
+(0074,140C) IS ChannelDeliveryOrderIndex 1 Supplement_184
+(0074,140D) SQ ChannelDeliveryContinuationSequence 1 Supplement_184
+(0074,140E) SQ OmittedApplicationSetupSequence 1 Supplement_184
+#
+#---------------------------------------------------------------------------
+#
+# Correction Items 1364, 1431, 1432, 1441, 1454, 1457, 1458, 1460, 1461, 1478 (WC),
+# 1487, 1496, 1499, 1504, 1516
+#
+(0008,119A) SQ OtherFailuresSequence 1 CP_1364
+(300A,0090) CS BeamDoseType 1 CP_1431
+(300A,0091) DS AlternateBeamDose 1 CP_1431
+(300A,0092) CS AlternateBeamDoseType 1 CP_1431
+(300A,0309) CS ModulatedScanModeType 1 CP_1432
(0040,4070) SQ OutputDestinationSequence 1 CP_1441
(0040,4071) SQ DICOMStorageSequence 1 CP_1441
(0040,4072) SQ STOWRSStorageSequence 1 CP_1441
(0040,4073) UR StorageURL 1 CP_1441
(0040,4074) SQ XDSStorageSequence 1 CP_1441
(0028,2002) CS ColorSpace 1 CP_1454
+(0010,0026) SQ SourcePatientGroupIdentificationSequence 1 CP_1457
+(0010,0027) SQ GroupOfPatientsIdentificationSequence 1 CP_1457
+(0010,0028) US SubjectRelativePositionInImage 3 CP_1457
(0040,9213) FD DoubleFloatRealWorldValueLastValueMapped 1 CP_1458
(0040,9214) FD DoubleFloatRealWorldValueFirstValueMapped 1 CP_1458
+(300A,0501) FL DistalDepthFraction 1 CP_1460
+(300A,0502) FL DistalDepth 1 CP_1460
+(300A,0503) FL NominalRangeModulatioFractions 2 CP_1460
+(300A,0504) FL NominalRangeModulatedRegionDepths 2 CP_1460
+(300A,0505) SQ DepthDoseParametersSequence 1 CP_1460
+(300A,0506) SQ DeliveredDepthDoseParametersSequence 1 CP_1460
+(300A,0507) FL DeliveredDistalDepthFraction 1 CP_1460
+(300A,0508) FL DeliveredDistalDepth 1 CP_1460
+(300A,0509) FL DeliveredNominalRangeModulationFractions 2 CP_1460
+(300A,0510) FL DeliveredNominalRangeModulatedRegionDepths 2 CP_1460
+(300A,0511) CS DeliveredReferenceDoseDefinition 1 CP_1460
+(300A,0512) CS ReferenceDoseDefinition 1 CP_1460
(0018,1320) FL B1rms 1 CP_1461
+(0010,0212) UC StrainDescription 1 CP_1478
+(0010,0213) LO StrainNomenclature 1 CP_1478
+(0010,0214) LO StrainStockNumber 1 CP_1478
+(0010,0215) SQ StrainSourceRegistryCodeSequence 1 CP_1478
+(0010,0216) SQ StrainStockSequence 1 CP_1478
+(0010,0217) LO StrainSource 1 CP_1478
+(0010,0218) UT StrainAdditionalInformation 1 CP_1478
+(0010,0219) SQ StrainCodeSequence 1 CP_1478
+(0070,030B) FD FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix 16 CP_1487
+(0062,0020) UT TrackingID 1 CP_1496
+(0062,0021) UI TrackingUID 1 CP_1496
+(0066,0040) OL LongPrimitivePointIndexList 1 CP_1499
+(0066,0041) OL LongTrianglePointIndexList 1 CP_1499
+(0066,0042) OL LongEdgePointIndexList 1 CP_1499
+(0066,0043) OL LongVertexPointIndexList 1 CP_1499
+(300A,0355) LO TrayAccessoryCode 1 CP_1504
+(0008,0055) AE StationAETitle 1 CP_1516
#
#---------------------------------------------------------------------------
#
+Cc --charset-check-all
check all data elements with string values
- (default: only PN, LO, LT, SH, ST and UT)
+ (default: only PN, LO, LT, SH, ST, UC and UT)
# this option is only used for the mapping to an appropriate
# XML character encoding, but not for the conversion to UTF-8
If this DICOM attribute is missing in the input file, although needed, option
\e --charset-assume can be used to specify an appropriate character set
-manually (using one of the DICOM defined terms).
+manually (using one of the DICOM defined terms). For reasons of backward
+compatibility with previous versions of this tool, the following terms are also
+supported and mapped automatically to the associated DICOM defined terms:
+latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew.
Multiple character sets using code extension techniques are not supported. If
needed, option \e --convert-to-utf8 can be used to convert the DICOM file or
\section copyright COPYRIGHT
-Copyright (C) 2002-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 2002-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
between the two characters. If the VR can be determined from
the tag, this part of a line is optional.
Value: There are several rules for writing values:
- 1. US, SS, SL, UL, FD, FL are written as decimal strings that
- can be read by scanf().
+ 1. US, SS, SL, UL, FD, FL, OD, OF and OL are written as decimal
+ strings that can be read by scanf().
2. AT is written as '(gggg,eeee)' with additional spaces
stripped off automatically and gggg and eeee being decimal
strings that can be read by scanf().
\section copyright COPYRIGHT
-Copyright (C) 1996-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 1996-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* codes below 128 are considered to be ASCII codes and all others are considered to
* be non-ASCII.
* @param checkAllStrings if true, also check elements with string values not affected
- * by SpecificCharacterSet (0008,0005), default: only check PN, LO, LT, SH, ST, UT
+ * by SpecificCharacterSet (0008,0005). By default, only check PN, LO, LT, SH, ST,
+ * UC and UT, i.e. none of the derived VR classes.
* @return true if element contains non-ASCII characters, false otherwise
*/
virtual OFBool containsExtendedCharacters(const OFBool checkAllStrings = OFFalse);
* @param maxLen maximum number of characters allowed for a single value (0 = no check)
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2011-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
- * This software and supporting documentation are maintained by
+ * This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* D-26121 Oldenburg, Germany
*
*
- * Module: dcmiod
+ * Module: dcmdata
*
- * Author: Michael Onken
+ * Author: Joerg Riesmeier, Michael Onken
*
* Purpose: Static helper functionality for dcmdata module
*
#ifndef DCDATUTL_H
#define DCDATUTL_H
-#include "dcmtk/config/osconfig.h"
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/dcmdata/dcdefine.h"
#include "dcmtk/dcmdata/dcxfer.h"
#include "dcmtk/dcmdata/dcdatset.h"
-/** Class with helper functions used within the dcmiod module (and beyond)
+
+/** Class with helper functions used within the dcmdata module (and beyond)
*/
class DCMTK_DCMDATA_EXPORT DcmDataUtil
{
* ERM_metaOnly.
* @return EC_Normal if successful, an error code otherwise
*/
- static OFCondition getSOPInstanceFromFile(const OFString &filename,
+ static OFCondition getSOPInstanceFromFile(const OFFilename &filename,
OFString &sopClassUID,
OFString &sopInstanceUID,
OFString &transferSyntaxUID,
/*
*
- * Copyright (C) 2002-2015, OFFIS e.V.
+ * Copyright (C) 2002-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
AP_GeneralPurposeBDMPEG4HPatLV41,
/// General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP\@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD)
AP_GeneralPurposeBDMPEG4HPatLV41BD,
+ /// General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D)
+ AP_GeneralPurposeBDMPEG4HPatLV42_2D,
+ /// General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D)
+ AP_GeneralPurposeBDMPEG4HPatLV42_3D,
+ /// General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42)
+ AP_GeneralPurposeBDMPEG4StereoHPatLV42,
/// General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG)
AP_USBandFlashJPEG,
/// General Purpose USB and Flash Memory Interchange with JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K)
const OFString &referencedFileID,
const OFFilename &sourceFilename);
+ /** create or update tract record and copy required values from dataset
+ * @param record record to be updated, use NULL to create a new one
+ * @param fileformat DICOM dataset of the current file
+ * @param referencedFileID value of the Referenced File ID attribute
+ * @param sourceFilename name of the source DICOM file
+ * @return pointer to new or updated record, NULL if an error occurred
+ */
+ DcmDirectoryRecord *buildTractRecord(DcmDirectoryRecord *record,
+ DcmFileFormat *fileformat,
+ const OFString &referencedFileID,
+ const OFFilename &sourceFilename);
+
/** create or update image record and copy required values from dataset
* @param record record to be updated, use NULL to create a new one
* @param fileformat DICOM dataset of the current file
**
** User: joergr
** Host: thinkpad
-** Date: 2015-09-18 11:18:13
+** Date: 2016-01-25 17:53:33
** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdeftag
**
** From: ../data/dicom.dic
#include "dcmtk/dcmdata/dctagkey.h"
-#define DCM_DICT_DEFTAG_BUILD_DATE "2015-09-18 11:18:13"
+#define DCM_DICT_DEFTAG_BUILD_DATE "2016-01-25 17:53:33"
/*
** Fixed Tags in ascending (gggg,eeee) order.
-** Number of entries: 3956
+** Number of entries: 4019
** Tags with a repeating component (repeating tags) are listed later.
*/
#define DCM_CommandGroupLength DcmTagKey(0x0000, 0x0000)
#define DCM_QueryRetrieveLevel DcmTagKey(0x0008, 0x0052)
#define DCM_QueryRetrieveView DcmTagKey(0x0008, 0x0053)
#define DCM_RetrieveAETitle DcmTagKey(0x0008, 0x0054)
+#define DCM_StationAETitle DcmTagKey(0x0008, 0x0055)
#define DCM_InstanceAvailability DcmTagKey(0x0008, 0x0056)
#define DCM_FailedSOPInstanceUIDList DcmTagKey(0x0008, 0x0058)
#define DCM_Modality DcmTagKey(0x0008, 0x0060)
#define DCM_FailureReason DcmTagKey(0x0008, 0x1197)
#define DCM_FailedSOPSequence DcmTagKey(0x0008, 0x1198)
#define DCM_ReferencedSOPSequence DcmTagKey(0x0008, 0x1199)
+#define DCM_OtherFailuresSequence DcmTagKey(0x0008, 0x119a)
#define DCM_StudiesContainingOtherReferencedInstancesSequence DcmTagKey(0x0008, 0x1200)
#define DCM_RelatedSeriesSequence DcmTagKey(0x0008, 0x1250)
#define DCM_RETIRED_LossyImageCompressionRetired DcmTagKey(0x0008, 0x2110)
#define DCM_IssuerOfPatientID DcmTagKey(0x0010, 0x0021)
#define DCM_TypeOfPatientID DcmTagKey(0x0010, 0x0022)
#define DCM_IssuerOfPatientIDQualifiersSequence DcmTagKey(0x0010, 0x0024)
+#define DCM_SourcePatientGroupIdentificationSequence DcmTagKey(0x0010, 0x0026)
+#define DCM_GroupOfPatientsIdentificationSequence DcmTagKey(0x0010, 0x0027)
+#define DCM_SubjectRelativePositionInImage DcmTagKey(0x0010, 0x0028)
#define DCM_PatientBirthDate DcmTagKey(0x0010, 0x0030)
#define DCM_PatientBirthTime DcmTagKey(0x0010, 0x0032)
#define DCM_PatientSex DcmTagKey(0x0010, 0x0040)
#define DCM_PatientPrimaryLanguageModifierCodeSequence DcmTagKey(0x0010, 0x0102)
#define DCM_QualityControlSubject DcmTagKey(0x0010, 0x0200)
#define DCM_QualityControlSubjectTypeCodeSequence DcmTagKey(0x0010, 0x0201)
+#define DCM_StrainDescription DcmTagKey(0x0010, 0x0212)
+#define DCM_StrainNomenclature DcmTagKey(0x0010, 0x0213)
+#define DCM_StrainStockNumber DcmTagKey(0x0010, 0x0214)
+#define DCM_StrainSourceRegistryCodeSequence DcmTagKey(0x0010, 0x0215)
+#define DCM_StrainStockSequence DcmTagKey(0x0010, 0x0216)
+#define DCM_StrainSource DcmTagKey(0x0010, 0x0217)
+#define DCM_StrainAdditionalInformation DcmTagKey(0x0010, 0x0218)
+#define DCM_StrainCodeSequence DcmTagKey(0x0010, 0x0219)
#define DCM_OtherPatientIDs DcmTagKey(0x0010, 0x1000)
#define DCM_OtherPatientNames DcmTagKey(0x0010, 0x1001)
#define DCM_OtherPatientIDsSequence DcmTagKey(0x0010, 0x1002)
#define DCM_SegmentationFractionalType DcmTagKey(0x0062, 0x0010)
#define DCM_SegmentedPropertyTypeModifierCodeSequence DcmTagKey(0x0062, 0x0011)
#define DCM_UsedSegmentsSequence DcmTagKey(0x0062, 0x0012)
+#define DCM_TrackingID DcmTagKey(0x0062, 0x0020)
+#define DCM_TrackingUID DcmTagKey(0x0062, 0x0021)
#define DCM_DeformableRegistrationSequence DcmTagKey(0x0064, 0x0002)
#define DCM_SourceFrameOfReferenceUID DcmTagKey(0x0064, 0x0003)
#define DCM_DeformableRegistrationGridSequence DcmTagKey(0x0064, 0x0005)
#define DCM_LongTrianglePointIndexList DcmTagKey(0x0066, 0x0041)
#define DCM_LongEdgePointIndexList DcmTagKey(0x0066, 0x0042)
#define DCM_LongVertexPointIndexList DcmTagKey(0x0066, 0x0043)
+#define DCM_TrackSetSequence DcmTagKey(0x0066, 0x0101)
+#define DCM_TrackSequence DcmTagKey(0x0066, 0x0102)
+#define DCM_RecommendedDisplayCIELabValueList DcmTagKey(0x0066, 0x0103)
+#define DCM_TrackingAlgorithmIdentificationSequence DcmTagKey(0x0066, 0x0104)
+#define DCM_TrackSetNumber DcmTagKey(0x0066, 0x0105)
+#define DCM_TrackSetLabel DcmTagKey(0x0066, 0x0106)
+#define DCM_TrackSetDescription DcmTagKey(0x0066, 0x0107)
+#define DCM_TrackSetAnatomicalTypeCodeSequence DcmTagKey(0x0066, 0x0108)
+#define DCM_MeasurementsSequence DcmTagKey(0x0066, 0x0121)
+#define DCM_TrackSetStatisticsSequence DcmTagKey(0x0066, 0x0124)
+#define DCM_FloatingPointValues DcmTagKey(0x0066, 0x0125)
+#define DCM_TrackPointIndexList DcmTagKey(0x0066, 0x0129)
+#define DCM_TrackStatisticsSequence DcmTagKey(0x0066, 0x0130)
+#define DCM_MeasurementValuesSequence DcmTagKey(0x0066, 0x0132)
+#define DCM_DiffusionAcquisitionCodeSequence DcmTagKey(0x0066, 0x0133)
+#define DCM_DiffusionModelCodeSequence DcmTagKey(0x0066, 0x0134)
#define DCM_ImplantSize DcmTagKey(0x0068, 0x6210)
#define DCM_ImplantTemplateVersion DcmTagKey(0x0068, 0x6221)
#define DCM_ReplacedImplantTemplateSequence DcmTagKey(0x0068, 0x6222)
#define DCM_RegistrationSequence DcmTagKey(0x0070, 0x0308)
#define DCM_MatrixRegistrationSequence DcmTagKey(0x0070, 0x0309)
#define DCM_MatrixSequence DcmTagKey(0x0070, 0x030a)
+#define DCM_FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix DcmTagKey(0x0070, 0x030b)
#define DCM_FrameOfReferenceTransformationMatrixType DcmTagKey(0x0070, 0x030c)
#define DCM_RegistrationTypeCodeSequence DcmTagKey(0x0070, 0x030d)
#define DCM_FiducialDescription DcmTagKey(0x0070, 0x030f)
#define DCM_BeamOrderIndex DcmTagKey(0x0074, 0x1324)
#define DCM_DoubleExposureMeterset DcmTagKey(0x0074, 0x1338)
#define DCM_DoubleExposureFieldDelta DcmTagKey(0x0074, 0x133a)
+#define DCM_BrachyTaskSequence DcmTagKey(0x0074, 0x1401)
+#define DCM_ContinuationStartTotalReferenceAirKerma DcmTagKey(0x0074, 0x1402)
+#define DCM_ContinuationEndTotalReferenceAirKerma DcmTagKey(0x0074, 0x1403)
+#define DCM_ContinuationPulseNumber DcmTagKey(0x0074, 0x1404)
+#define DCM_ChannelDeliveryOrderSequence DcmTagKey(0x0074, 0x1405)
+#define DCM_ReferencedChannelNumber DcmTagKey(0x0074, 0x1406)
+#define DCM_StartCumulativeTimeWeight DcmTagKey(0x0074, 0x1407)
+#define DCM_EndCumulativeTimeWeight DcmTagKey(0x0074, 0x1408)
+#define DCM_OmittedChannelSequence DcmTagKey(0x0074, 0x1409)
+#define DCM_ReasonForChannelOmission DcmTagKey(0x0074, 0x140a)
+#define DCM_ReasonForChannelOmissionDescription DcmTagKey(0x0074, 0x140b)
+#define DCM_ChannelDeliveryOrderIndex DcmTagKey(0x0074, 0x140c)
+#define DCM_ChannelDeliveryContinuationSequence DcmTagKey(0x0074, 0x140d)
+#define DCM_OmittedApplicationSetupSequence DcmTagKey(0x0074, 0x140e)
#define DCM_ImplantAssemblyTemplateName DcmTagKey(0x0076, 0x0001)
#define DCM_ImplantAssemblyTemplateIssuer DcmTagKey(0x0076, 0x0003)
#define DCM_ImplantAssemblyTemplateVersion DcmTagKey(0x0076, 0x0006)
#define DCM_AverageBeamDosePointDepth DcmTagKey(0x300a, 0x008d)
#define DCM_AverageBeamDosePointEquivalentDepth DcmTagKey(0x300a, 0x008e)
#define DCM_AverageBeamDosePointSSD DcmTagKey(0x300a, 0x008f)
+#define DCM_BeamDoseType DcmTagKey(0x300a, 0x0090)
+#define DCM_AlternateBeamDose DcmTagKey(0x300a, 0x0091)
+#define DCM_AlternateBeamDoseType DcmTagKey(0x300a, 0x0092)
#define DCM_NumberOfBrachyApplicationSetups DcmTagKey(0x300a, 0x00a0)
#define DCM_BrachyApplicationSetupDoseSpecificationPoint DcmTagKey(0x300a, 0x00a2)
#define DCM_BrachyApplicationSetupDose DcmTagKey(0x300a, 0x00a4)
#define DCM_RadiationAtomicNumber DcmTagKey(0x300a, 0x0304)
#define DCM_RadiationChargeState DcmTagKey(0x300a, 0x0306)
#define DCM_ScanMode DcmTagKey(0x300a, 0x0308)
+#define DCM_ModulatedScanModeType DcmTagKey(0x300a, 0x0309)
#define DCM_VirtualSourceAxisDistances DcmTagKey(0x300a, 0x030a)
#define DCM_SnoutSequence DcmTagKey(0x300a, 0x030c)
#define DCM_SnoutPosition DcmTagKey(0x300a, 0x030d)
#define DCM_PatientSupportType DcmTagKey(0x300a, 0x0350)
#define DCM_PatientSupportID DcmTagKey(0x300a, 0x0352)
#define DCM_PatientSupportAccessoryCode DcmTagKey(0x300a, 0x0354)
+#define DCM_TrayAccessoryCode DcmTagKey(0x300a, 0x0355)
#define DCM_FixationLightAzimuthalAngle DcmTagKey(0x300a, 0x0356)
#define DCM_FixationLightPolarAngle DcmTagKey(0x300a, 0x0358)
#define DCM_MetersetRate DcmTagKey(0x300a, 0x035a)
#define DCM_DeviceMotionExecutionMode DcmTagKey(0x300a, 0x0451)
#define DCM_DeviceMotionObservationMode DcmTagKey(0x300a, 0x0452)
#define DCM_DeviceMotionParameterCodeSequence DcmTagKey(0x300a, 0x0453)
+#define DCM_DistalDepthFraction DcmTagKey(0x300a, 0x0501)
+#define DCM_DistalDepth DcmTagKey(0x300a, 0x0502)
+#define DCM_NominalRangeModulatioFractions DcmTagKey(0x300a, 0x0503)
+#define DCM_NominalRangeModulatedRegionDepths DcmTagKey(0x300a, 0x0504)
+#define DCM_DepthDoseParametersSequence DcmTagKey(0x300a, 0x0505)
+#define DCM_DeliveredDepthDoseParametersSequence DcmTagKey(0x300a, 0x0506)
+#define DCM_DeliveredDistalDepthFraction DcmTagKey(0x300a, 0x0507)
+#define DCM_DeliveredDistalDepth DcmTagKey(0x300a, 0x0508)
+#define DCM_DeliveredNominalRangeModulationFractions DcmTagKey(0x300a, 0x0509)
+#define DCM_DeliveredNominalRangeModulatedRegionDepths DcmTagKey(0x300a, 0x0510)
+#define DCM_DeliveredReferenceDoseDefinition DcmTagKey(0x300a, 0x0511)
+#define DCM_ReferenceDoseDefinition DcmTagKey(0x300a, 0x0512)
#define DCM_ReferencedRTPlanSequence DcmTagKey(0x300c, 0x0002)
#define DCM_ReferencedBeamSequence DcmTagKey(0x300c, 0x0004)
#define DCM_ReferencedBeamNumber DcmTagKey(0x300c, 0x0006)
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/// plan
ERT_Plan = 44,
/// surface scan
- ERT_SurfaceScan = 45
+ ERT_SurfaceScan = 45,
+ /// tractography
+ ERT_Tract = 46
} E_DirRecType;
public:
+ // be friend with "greater than" and "less than" operators that are defined
+ // outside of this class
+ friend OFBool operator< (const DcmElement& lhs, const DcmElement& rhs);
+ friend OFBool operator> (const DcmElement& lhs, const DcmElement& rhs);
+ friend OFBool operator<=(const DcmElement& lhs, const DcmElement& rhs);
+ friend OFBool operator>=(const DcmElement& lhs, const DcmElement& rhs);
+
/** constructor.
* Create new element from given tag and length.
* @param tag DICOM tag for the new element
* -1 if either the value of the first component that does not match
* is lower in this object than in rhs, or all compared components match
* but this object has fewer components than rhs. Also returned if rhs
- * cannot be casted to this object type.
+ * cannot be casted to this object type or both objects are of
+ * different VR (i.e. the DcmEVR returned by the element's ident()
+ * call are different).
* 1 if either the value of the first component that does not match
* is greater in this object than in rhs object, or all compared
* components match but the this component is longer.
Uint8 *fValue;
};
+/** Checks whether left hand side element is smaller than right hand side
+ * element. Uses DcmElement's compare() method in order to perform the
+ * comparison. See DcmElement::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is smaller than rhs, OFFalse otherwise
+ */
+inline OFBool operator< (const DcmElement& lhs, const DcmElement& rhs)
+{
+ return ( lhs.compare(rhs) < 0 );
+}
+
+/** Checks whether left hand side element is greater than right hand side
+ * element. Uses DcmElement's compare() method in order to perform the
+ * comparison. See DcmElement::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is greater than rhs, OFFalse otherwise
+ */
+inline OFBool operator> (const DcmElement& lhs, const DcmElement& rhs)
+{
+ return rhs < lhs;
+}
+
+/** Checks whether left hand side element is smaller than or equal to right hand
+ * side element. Uses DcmElement's compare() method in order to perform the
+ * comparison. See DcmElement::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is smaller than rhs or both are equal, OFFalse
+ * otherwise
+ */
+inline OFBool operator<=(const DcmElement& lhs, const DcmElement& rhs)
+{
+ return !(lhs > rhs);
+}
+
+/** Checks whether left hand side element is greater than or equal to right hand
+ * side element. Uses DcmElement's compare() method in order to perform the
+ * comparison. See DcmElement::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is greater than rhs or both are equal, OFFalse
+ * otherwise
+ */
+inline OFBool operator>=(const DcmElement& lhs, const DcmElement& rhs)
+{
+ return !(lhs < rhs);
+}
#endif // DCELEM_H
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
public:
+ // be friend with "greater than" and "less than" operators that are defined
+ // outside of this class
+ friend OFBool operator< (const DcmItem& lhs, const DcmItem& rhs);
+ friend OFBool operator> (const DcmItem& lhs, const DcmItem& rhs);
+ friend OFBool operator<=(const DcmItem& lhs, const DcmItem& rhs);
+ friend OFBool operator>=(const DcmItem& lhs, const DcmItem& rhs);
+
/** default constructor
*/
DcmItem();
/** assignment operator. Private creator cache is not copied
* as it is also the case for clone().
- * @param the item to be copied
+ * @param obj the item to be copied
+ * @return Reference to this object after assignment
*/
DcmItem &operator=(const DcmItem &obj);
* with a given object of the same type. The tag of the element is also
* considered as the first component that is compared, followed by the
* object types (VR, i.e. DCMTK'S EVR) and the comparison of all value
- * components of the object, preferrably in the order declared in the
+ * components of the object, preferably in the order declared in the
* object (if applicable). For item values that means that all elements
* within the items are compared to each other in ascending tag order.
* This may be an expensive operation.
* VR field and the value itself, for items and sequences it returns
* the length of the complete item or sequence including delimitation tags
* if applicable.
- * If length encodig is set to be explicit and the total item size is
+ * If length encoding is set to be explicit and the total item size is
* larger than the available 32-bit length field, then undefined length
* is returned. If "dcmWriteOversizedSeqsAndItemsImplicit" is disabled,
* also the internal DcmObject errorFlag is set to EC_SeqOrItemContentOverflow
/** calculate the value length (without attribute tag, VR and length field)
* of this DICOM element when encoded with the given transfer syntax and
* the given encoding type for sequences.
- * If length encodig is set to be explicit and the item content is larger
+ * If length encoding is set to be explicit and the item content is larger
* than the available 32-bit length field, then undefined length is
* returned. If "dcmWriteOversizedSeqsAndItemsUndefined" is disabled,
* also the internal DcmObject errorFlag is set to
* character codes below 128 are considered to be ASCII codes and all others are
* considered to be non-ASCII.
* @param checkAllStrings if true, also check elements with string values not affected
- * by SpecificCharacterSet (0008,0005), default: only check PN, LO, LT, SH, ST, UC
- * and UT
+ * by SpecificCharacterSet (0008,0005). By default, only check PN, LO, LT, SH, ST,
+ * UC and UT.
* @return true if object contains non-ASCII characters, false otherwise
*/
virtual OFBool containsExtendedCharacters(const OFBool checkAllStrings = OFFalse);
/** find element and get value as a C++ string (only one component).
* Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF,
- * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
+ * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
* Since the getOFString() routine is called internally the resulting string is normalized, i.e.
* leading and/or trailing spaces are removed according to the associated value representation,
* or the element value is converted to a character string (for non-string VRs) - see documentation
/** find element and get value as a C++ string (all components).
* Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF,
- * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
+ * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
* Since the getOFStringArray() routine is called internally the resulting string is normalized,
* i.e. leading and/or trailing spaces are removed according to the associated value representation
* or the element values are converted to character strings (for non-string VRs) - see documentation
const OFBool searchIntoSub = OFFalse);
/** find element and get value as an unsigned 32-bit integer.
- * Applicable to the following VRs: UL
+ * Applicable to the following VRs: OL, UL
* The result variable 'value' is automatically set to zero if an error occurs.
* @param tagKey DICOM tag specifying the attribute to be searched for
* @param value variable in which the element value is stored
const OFBool searchIntoSub = OFFalse);
/** find element and get value as an array of unsigned 32-bit integers.
- * Applicable to the following VRs: UL
+ * Applicable to the following VRs: OL, UL
* The result variable 'value' is automatically set to NULL if an error occurs.
* @param tagKey DICOM tag specifying the attribute to be searched for
* @param value variable in which the reference to the element value is stored
const OFBool searchIntoSub = OFFalse);
/** find element and get value as a (signed) long integer.
- * Applicable to the following VRs: IS, SL, SS, UL, US
+ * Applicable to the following VRs: IS, OL, SL, SS, UL, US
* The result variable 'value' is automatically set to zero if an error occurs.
* @param tagKey DICOM tag specifying the attribute to be searched for
* @param value variable in which the element value is stored
/** create a new element, put specified value to it and insert the element into the dataset/item.
* Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF,
- * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
+ * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
* @param tag DICOM tag specifying the attribute to be created
* @param value string value to be set for the new element (might be empty or NULL)
* @param replaceOld flag indicating whether to replace an existing element or not
/** create a new element, put specified value to it and insert the element into the dataset/item.
* Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF,
- * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
+ * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT
* Please note that since the length of the string has to be specified explicitly, the string
* can contain more than one NULL byte.
* @param tag DICOM tag specifying the attribute to be created
const OFBool replaceOld = OFTrue);
/** create a new element, put specified value to it and insert the element into the dataset/item.
- * Applicable to the following VRs: UL
+ * Applicable to the following VRs: OL, UL
* @param tag DICOM tag specifying the attribute to be created
* @param value value to be set for the new element
* @param pos index of the value to be set (0..vm). A value can be appended to
const unsigned long pos = 0,
const OFBool replaceOld = OFTrue);
+ /** create a new element, put specified value to it and insert the element into the dataset/item.
+ * Applicable to the following VRs: OL, UL
+ * @param tag DICOM tag specifying the attribute to be created
+ * @param value value to be set for the new element
+ * @param count number of values (not bytes!) to be copied from 'value'
+ * @param replaceOld flag indicating whether to replace an existing element or not
+ * @return EC_Normal upon success, an error code otherwise.
+ */
+ OFCondition putAndInsertUint32Array(const DcmTag &tag,
+ const Uint32 *value,
+ const unsigned long count,
+ const OFBool replaceOld = OFTrue);
+
/** create a new element, put specified value to it and insert the element into the dataset/item.
* Applicable to the following VRs: SL
* @param tag DICOM tag specifying the attribute to be created
/** create a new element (with no value) and insert it into the dataset/item.
* Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF,
- * OW, PN, SH, SL, SQ, SS, ST, TM, UC, UI, UL, UR, US, UT
+ * OL, OW, PN, SH, SL, SQ, SS, ST, TM, UC, UI, UL, UR, US, UT
* @param tag DICOM tag specifying the attribute to be created
* @param replaceOld flag indicating whether to replace an existing element or not
* @return EC_Normal upon success, an error code otherwise.
DcmPrivateTagCache privateCreatorCache;
};
+/** Checks whether left hand side item is smaller than right hand side
+ * item. Uses DcmItem's compare() method in order to perform the
+ * comparison. See DcmItem::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is smaller than rhs, OFFalse otherwise
+ */
+inline OFBool operator< (const DcmItem& lhs, const DcmItem& rhs)
+{
+ return ( lhs.compare(rhs) < 0 );
+}
+
+/** Checks whether left hand side item is greater than right hand side
+ * item. Uses DcmItem's compare() method in order to perform the
+ * comparison. See DcmItem::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is greater than rhs, OFFalse otherwise
+ */
+inline OFBool operator> (const DcmItem& lhs, const DcmItem& rhs)
+{
+ return rhs < lhs;
+}
+
+/** Checks whether left hand side item is smaller than or equal to right hand
+ * side item. Uses DcmItem's compare() method in order to perform the
+ * comparison. See DcmItem::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is smaller than rhs or both are equal, OFFalse
+ * otherwise
+ */
+inline OFBool operator<=(const DcmItem& lhs, const DcmItem& rhs)
+{
+ return !(lhs > rhs);
+}
+
+/** Checks whether left hand side element is greater than or equal to right hand
+ * side element. Uses DcmElement's compare() method in order to perform the
+ * comparison. See DcmElement::compare() for details.
+ * @param lhs left hand side of the comparison
+ * @param rhs right hand side of the comparison
+ * @return OFTrue if lhs is greater than rhs or both are equal, OFFalse
+ * otherwise
+ */
+inline OFBool operator>=(const DcmItem& lhs, const DcmItem& rhs)
+{
+ return !(lhs < rhs);
+}
+
//
// SUPPORT FUNCTIONS
//
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/// magic string identifying DICOM files
-#define DCM_Magic "DICM"
+#define DCM_Magic "DICM"
/// length of magic string identifying DICOM files
-#define DCM_MagicLen 4
+#define DCM_MagicLen 4
/// length of DICOM file preamble, in bytes
-#define DCM_PreambleLen 128
+#define DCM_PreambleLen 128
/// transfer syntax used for encoding DICOM meta-headers
#define META_HEADER_DEFAULT_TRANSFERSYNTAX EXS_LittleEndianExplicit
DcmMetaInfo(const DcmMetaInfo &old);
/** assignment operator.
- * @param the metainfo to be copied
+ * @param obj the metainfo to be copied
*/
DcmMetaInfo &operator=(const DcmMetaInfo &obj);
/*
*
- * Copyright (C) 1994-2012, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
class DcmWriteCache;
class DcmSpecificCharacterSet;
+// include this file in doxygen documentation
+
+/** @file dcobject.h
+ * @brief interface to DICOM object/dataset handling
+ */
+
// Undefined Length Identifier now defined in dctypes.h
-// Maxinum number of read bytes for a Value Element
+// Maximum number of read bytes for a Value Element
const Uint32 DCM_MaxReadLength = 4096;
// Maximum length of tag and length in a DICOM element
const Uint32 DCM_OptPrintAttributeNameLength = 35;
/** This flags defines whether automatic correction should be applied to input
- * data (e.g. stripping of padding blanks, removal of blanks in UIDs, etc).
+ * data (e.g.\ stripping of padding blanks, removal of blanks in UIDs, etc).
* Default is enabled.
*/
extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmEnableAutomaticInputDataCorrection; /* default OFTrue */
/** This flag defines the handling of illegal odd-length attributes: If flag is
- * true, odd lengths are respected (i.e. an odd number of bytes is read from
+ * true, odd lengths are respected (i.e.\ an odd number of bytes is read from
* the input stream.) After successful reading, padding to even number of bytes
* is enforced by adding a zero pad byte if dcmEnableAutomaticInputDataCorrection
* is true. Otherwise the odd number of bytes remains as read.
/** DCMTK releases up to 3.5.3 created a non-conforming byte stream
* as input to the MAC algorithm when creating or verifying digital signatures
- * including compressed pixel data (i.e. signatures including attribute
+ * including compressed pixel data (i.e.\ signatures including attribute
* (7FE0,0010) in an encapsulated transfer syntax). This has been fixed
* in DCMTK 3.5.4, but this flag allows to revert to the old behavior
* in order to create or verify signatures that are compatible with older
extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmReadImplPrivAttribMaxLengthAsSQ; /* default OFFalse */
/** This flag indicates, whether parsing errors during reading
- * should be ignored, ie whether the parser should try to recover and
+ * should be ignored, i.e.\ whether the parser should try to recover and
* parse the rest of the stream.
* This flag does not work for all parsing errors (at this time)
* making sense but was introduced afterwards.
* Data attribute. To prevent the parser for "stumbling" over that
* garbage, it is possible to tell the parser to stop after a
* specific element. The flag is only sensitive to elements on
- * dataset level, ie. inside sequence any occurence of the specified
+ * dataset level, i.e. inside sequence any occurrence of the specified
* tag is ignored. Caution: Note that if Pixel Data is chosen
* as stop element, any attributes behind will not be parsed, e. g.
* any digital signature attributes coming after.
virtual OFCondition loadAllDataIntoMemory() = 0;
/** return the current value of the Length field (which is different from the functionality
- * of the public getLength method). Only needed for internal purposes and for checker tools
+ * of the public getLength() method). Only needed for internal purposes and for checker tools
* that verify values against the length field.
* @return current value of length field
*/
protected:
- /** print line indentation, e.g. a couple of spaces for each nesting level.
+ /** print line indentation, e.g.\ a couple of spaces for each nesting level.
* Depending on the value of 'flags' other visualizations are also possible.
* @param out output stream
* @param flags used to customize the output (see DCMTypes::PF_xxx)
DcmTag *tag = NULL);
/** print given text with element information.
- * Calls printInfoLineStart() and printInfoLineEnd() to frame the
- * 'info' text.
+ * Calls printInfoLineStart() and printInfoLineEnd() to frame the 'info' text.
* @param out output stream
* @param flags used to customize the output (see DCMTypes::PF_xxx)
* @param level current level of nested items. Used for indentation.
* with a given object of the same type. The tag of the element is also
* considered as the first component that is compared, followed by the
* object types (VR, i.e. DCMTK'S EVR) and the comparison of all value
- * components of the object, preferrably in the order declared in the
+ * components of the object, preferably in the order declared in the
* object (if applicable). For sequences that means that all
- * containted items are compared element by element, so this may be
+ * contained items are compared element by element, so this may be
* an expensive operation!
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
* VR field and the value itself, for items and sequences it returns
* the length of the complete item or sequence including delimitation tags
* if applicable.
- * If length encodig is set to be explicit and the total sequence size is
+ * If length encoding is set to be explicit and the total sequence size is
* larger than the available 32-bit length field, then undefined length
* is returned. If "dcmWriteOversizedSeqsAndItemsUndefined" is disabled,
* also the internal DcmObject errorFlag is set to EC_SeqOrItemContentOverflow
/** calculate the value length (without attribute tag, VR and length field)
* of this DICOM element when encoded with the given transfer syntax and
* the given encoding type for sequences.
- * If length encodig is set to be explicit and the total sequence size is
+ * If length encoding is set to be explicit and the total sequence size is
* larger than the available 32-bit length field, then undefined length
* is returned. If "dcmWriteOversizedSeqsAndItemsImplicit" is disabled,
* also the internal DcmObject errorFlag is set to
* character codes below 128 are considered to be ASCII codes and all others are
* considered to be non-ASCII.
* @param checkAllStrings if true, also check elements with string values not affected
- * by SpecificCharacterSet (0008,0005), default: only check PN, LO, LT, SH, ST, UC
- * and UT
+ * by SpecificCharacterSet (0008,0005). By default, only check PN, LO, LT, SH, ST,
+ * UC and UT.
* @return true if object contains non-ASCII characters, false otherwise
*/
virtual OFBool containsExtendedCharacters(const OFBool checkAllStrings = OFFalse);
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcvrfd.h"
#include "dcmtk/dcmdata/dcvrof.h"
#include "dcmtk/dcmdata/dcvrod.h"
+#include "dcmtk/dcmdata/dcvrol.h"
// misc supporting tools
#include "dcmtk/dcmdata/cmdlnarg.h"
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
** Defined SOP Class UIDs according to DICOM standard
*/
-// Storage
+// Storage (DICOM)
#define UID_RETIRED_StoredPrintStorage "1.2.840.10008.5.1.1.27"
#define UID_RETIRED_HardcopyGrayscaleImageStorage "1.2.840.10008.5.1.1.29"
#define UID_RETIRED_HardcopyColorImageStorage "1.2.840.10008.5.1.1.30"
#define UID_DeformableSpatialRegistrationStorage "1.2.840.10008.5.1.4.1.1.66.3"
#define UID_SegmentationStorage "1.2.840.10008.5.1.4.1.1.66.4"
#define UID_SurfaceSegmentationStorage "1.2.840.10008.5.1.4.1.1.66.5"
+#define UID_TractographyResultsStorage "1.2.840.10008.5.1.4.1.1.66.6"
#define UID_RealWorldValueMappingStorage "1.2.840.10008.5.1.4.1.1.67"
#define UID_SurfaceScanMeshStorage "1.2.840.10008.5.1.4.1.1.68.1"
#define UID_SurfaceScanPointCloudStorage "1.2.840.10008.5.1.4.1.1.68.2"
#define UID_RadiopharmaceuticalRadiationDoseSRStorage "1.2.840.10008.5.1.4.1.1.88.68"
#define UID_ColonCADSRStorage "1.2.840.10008.5.1.4.1.1.88.69"
#define UID_ImplantationPlanSRDocumentStorage "1.2.840.10008.5.1.4.1.1.88.70"
+#define UID_AcquisitionContextSRStorage "1.2.840.10008.5.1.4.1.1.88.71"
#define UID_EncapsulatedPDFStorage "1.2.840.10008.5.1.4.1.1.104.1"
#define UID_EncapsulatedCDAStorage "1.2.840.10008.5.1.4.1.1.104.2"
#define UID_PositronEmissionTomographyImageStorage "1.2.840.10008.5.1.4.1.1.128"
#define UID_RTTreatmentSummaryRecordStorage "1.2.840.10008.5.1.4.1.1.481.7"
#define UID_RTIonPlanStorage "1.2.840.10008.5.1.4.1.1.481.8"
#define UID_RTIonBeamsTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.9"
+#define UID_RTBeamsDeliveryInstructionStorage "1.2.840.10008.5.1.4.34.7"
+#define UID_RTBrachyApplicationSetupDeliveryInstructionStorage "1.2.840.10008.5.1.4.34.10"
#define UID_HangingProtocolStorage "1.2.840.10008.5.1.4.38.1"
#define UID_GenericImplantTemplateStorage "1.2.840.10008.5.1.4.43.1"
#define UID_ImplantAssemblyTemplateStorage "1.2.840.10008.5.1.4.44.1"
#define UID_GETCompositeInstanceRootRetrieve "1.2.840.10008.5.1.4.1.2.4.3"
#define UID_GETCompositeInstanceRetrieveWithoutBulkData "1.2.840.10008.5.1.4.1.2.5.3"
-// Worklist
+// Modality Worklist
#define UID_FINDModalityWorklistInformationModel "1.2.840.10008.5.1.4.31"
// General Purpose Worklist
#define UID_ModalityPerformedProcedureStepRetrieveSOPClass "1.2.840.10008.3.1.2.3.4"
#define UID_ModalityPerformedProcedureStepNotificationSOPClass "1.2.840.10008.3.1.2.3.5"
-// Radiotherapy Treatment Delivery
-#define UID_RTBeamsDeliveryInstructionStorage "1.2.840.10008.5.1.4.34.7"
+// Radiotherapy
#define UID_RTConventionalMachineVerification "1.2.840.10008.5.1.4.34.8"
#define UID_RTIonMachineVerification "1.2.840.10008.5.1.4.34.9"
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofglobal.h"
#include "dcmtk/dcmdata/dcdefine.h"
+// include this file in doxygen documentation
+
+/** @file dcvr.h
+ * @brief definition and handling of value representations (VR)
+ */
+
/** Global flag to enable/disable the generation of VR=UN, which has been
* introduced after the first edition of the DICOM standard (1993).
* If disabled, the VR=OB is used instead.
* introduced after the first edition of the DICOM standard (1993).
* If disabled, the VR=UN (if enabled) or alternatively VR=OB is used.
*/
-extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmEnableOtherFloatStringVRGeneration; /* default OFTrue */
+extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmEnableOtherFloatVRGeneration; /* default OFTrue */
/** Global flag to enable/disable the generation of VR=OD, which has been
* introduced after the first edition of the DICOM standard (1993).
* If disabled, the VR=UN (if enabled) or alternatively VR=OB is used.
*/
-extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmEnableOtherDoubleStringVRGeneration; /* default OFTrue */
+extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmEnableOtherDoubleVRGeneration; /* default OFTrue */
+
+/** Global flag to enable/disable the generation of VR=OL, which has been
+ * introduced after the first edition of the DICOM standard (1993).
+ * If disabled, the VR=UN (if enabled) or alternatively VR=OB is used.
+ */
+extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmEnableOtherLongVRGeneration; /* default OFTrue */
/** Global flag to enable/disable the generation of VR=UR, which has been
* introduced after the first edition of the DICOM standard (1993).
/// long text
EVR_LT,
- /// other byte string
+ /// other byte
EVR_OB,
- /// other double string
+ /// other double
EVR_OD,
- /// other float string
+ /// other float
EVR_OF,
- /// other word string
+ /// other long
+ EVR_OL,
+
+ /// other word
EVR_OW,
/// person name
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* (See DcmElement::checkVM() for a list of valid values.)
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @param value string value to be checked
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcelem.h"
-/** a class representing the DICOM value representations 'Other Byte String' (OB)
- * and 'Other Word String' (OW)
+/** a class representing the DICOM value representations 'Other Byte' (OB)
+ * and 'Other Word' (OW)
*/
class DCMTK_DCMDATA_EXPORT DcmOtherByteOtherWord
: public DcmElement
/*
*
- * Copyright (C) 2013, OFFIS e.V.
+ * Copyright (C) 2013-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcvrfd.h"
-/** a class representing the DICOM value representation 'Other Double String' (OD)
+/** a class representing the DICOM value representation 'Other Double' (OD)
*/
class DCMTK_DCMDATA_EXPORT DcmOtherDouble
: public DcmFloatingPointDouble
/*
*
- * Copyright (C) 2002-2013, OFFIS e.V.
+ * Copyright (C) 2002-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcvrfl.h"
-/** a class representing the DICOM value representation 'Other Float String' (OF)
+/** a class representing the DICOM value representation 'Other Float' (OF)
*/
class DCMTK_DCMDATA_EXPORT DcmOtherFloat
: public DcmFloatingPointSingle
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmdata
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose: Interface of class DcmOtherLong
+ *
+ */
+
+
+#ifndef DCVROL_H
+#define DCVROL_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmdata/dcvrul.h"
+
+
+/** a class representing the DICOM value representation 'Other Long' (OL)
+ */
+class DCMTK_DCMDATA_EXPORT DcmOtherLong
+ : public DcmUnsignedLong
+{
+
+ public:
+
+ /** constructor.
+ * Create new element from given tag and length.
+ * @param tag DICOM tag for the new element
+ * @param len value length for the new element
+ */
+ DcmOtherLong(const DcmTag &tag,
+ const Uint32 len = 0);
+
+ /** copy constructor
+ * @param old element to be copied
+ */
+ DcmOtherLong(const DcmOtherLong &old);
+
+ /** destructor
+ */
+ virtual ~DcmOtherLong();
+
+ /** assignment operator
+ * @param obj element to be assigned/copied
+ * @return reference to this object
+ */
+ DcmOtherLong &operator=(const DcmOtherLong &obj);
+
+ /** clone method
+ * @return deep copy of this object
+ */
+ virtual DcmOtherLong *clone() const
+ {
+ return new DcmOtherLong(*this);
+ }
+
+ /** virtual object copying. This method can be used for DcmObject
+ * and derived classes to get a deep copy of an object. Internally,
+ * the assignment operator is called if the given DcmObject parameter
+ * is of the same type as "this" object instance. If not, an error
+ * is returned. This function permits copying an object by value
+ * in a virtual way which therefore is different to just calling the
+ * assignment operator of DcmElement which could result in slicing
+ * the object.
+ * @param rhs - [in] The instance to copy from. Has to be of the same
+ * class type as "this" object
+ * @return EC_Normal if copying was successful, error otherwise
+ */
+ virtual OFCondition copyFrom(const DcmObject& rhs);
+
+ /** get element type identifier
+ * @return type identifier of this class (EVR_OL)
+ */
+ virtual DcmEVR ident() const;
+
+ /** check whether stored value conforms to the VR and to the specified VM
+ * @param vm parameter not used for this VR
+ * @param oldFormat parameter not used for this VR (only for DA, TM)
+ * @return always returns EC_Normal, i.e. currently no checks are performed
+ */
+ virtual OFCondition checkValue(const OFString &vm = "",
+ const OFBool oldFormat = OFFalse);
+
+ /** get value multiplicity
+ * @return always returns 1 (according to the DICOM standard)
+ */
+ virtual unsigned long getVM();
+
+ /** write object in XML format to a stream
+ * @param out output stream to which the XML document is written
+ * @param flags optional flag used to customize the output (see DCMTypes::XF_xxx)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition writeXML(STD_NAMESPACE ostream&out,
+ const size_t flags = 0);
+};
+
+
+#endif // DCVROL_H
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* (See DcmElement::checkVM() for a list of valid values.)
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 1994-2013, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* (See DcmElement::checkVM() for a list of valid values.)
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @param value string value to be checked
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 2015, OFFIS e.V.
+ * Copyright (C) 2015-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* (See DcmElement::checkVM() for a list of valid values.)
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* with a given object of the same type. The tag of the element is also
* considered as the first component that is compared, followed by the
* object types (VR, i.e. DCMTK'S EVR) and the comparison of all value
- * components of the object, preferrably in the order declared in the
+ * components of the object, preferably in the order declared in the
* object (if applicable).
* @param rhs the right hand side of the comparison
* @return 0 if the object values are equal.
/*
*
- * Copyright (C) 1994-2011, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual ~DcmUnsignedLongOffset();
- /** assignment operator.
- * @param the offset to be copied
+ /** assignment operator.
+ * @param obj the offset to be copied
*/
- DcmUnsignedLongOffset &operator=(const DcmUnsignedLongOffset &);
+ DcmUnsignedLongOffset &operator=(const DcmUnsignedLongOffset &obj);
/** clone method
* @return deep copy of this object
{
return new DcmUnsignedLongOffset(*this);
}
-
+
/** Virtual object copying. This method can be used for DcmObject
* and derived classes to get a deep copy of an object. Internally
* the assignment operator is called if the given DcmObject parameter
* class type as "this" object
* @return EC_Normal if copying was successful, error otherwise
*/
- virtual OFCondition copyFrom(const DcmObject& rhs);
+ virtual OFCondition copyFrom(const DcmObject& rhs);
/** get element type identifier
* @return type identifier of this class (internal type: EVR_up)
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* @param value string value to be checked
* @param charset character set (according to the value of the SpecificCharacterSet
* element) to be used for checking the string value. The default is ASCII (7-bit).
+ * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100).
+ * All other values disable the check of the value representation, e.g. "UNKNOWN".
* @return status of the check, EC_Normal if value is correct, an error code otherwise
*/
static OFCondition checkStringValue(const OFString &value,
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dctypes.h"
#include "dcmtk/dcmdata/dcvr.h"
+// include this file in doxygen documentation
+
+/** @file dcxfer.h
+ * @brief definition and handling of transfer syntaxes
+ */
+
/** enumeration of all DICOM transfer syntaxes known to the toolkit
*/
typedef enum {
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/libi2d/i2define.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/libi2d/i2dimgs.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
dcostrmf dcostrmz dcpath dcpcache dcpixel dcpixseq dcpxitem dcrleccd dcrlecce
dcrlecp dcrledrg dcrleerg dcrlerp dcsequen dcspchrs dcstack dcswap dctag
dctagkey dctypes dcuid dcvr dcvrae dcvras dcvrat dcvrcs dcvrda dcvrds dcvrdt
- dcvrfd dcvrfl dcvris dcvrlo dcvrlt dcvrobow dcvrod dcvrof dcvrpn dcvrpobw dcvrsh
- dcvrsl dcvrss dcvrst dcvrtm dcvruc dcvrui dcvrul dcvrulup dcvrur dcvrus dcvrut
- dcwcache dcxfer vrscan vrscanl)
+ dcvrfd dcvrfl dcvris dcvrlo dcvrlt dcvrobow dcvrod dcvrof dcvrol dcvrpn dcvrpobw
+ dcvrsh dcvrsl dcvrss dcvrst dcvrtm dcvruc dcvrui dcvrul dcvrulup dcvrur dcvrus
+ dcvrut dcwcache dcxfer vrscan vrscanl)
DCMTK_TARGET_LINK_MODULES(dcmdata ofstd oflog)
DCMTK_TARGET_LINK_LIBRARIES(dcmdata ${ZLIB_LIBS})
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
dcbytstr.o: dcbytstr.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h ../include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dcerror.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdict.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../include/dcmtk/dcmdata/dchashdi.h ../include/dcmtk/dcmdata/dcdefine.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcspchrs.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h
dcelem.o: dcelem.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
dcistrma.o: dcistrma.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcistrma.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvris.h ../include/dcmtk/dcmdata/dcvrlo.h \
../include/dcmtk/dcmdata/dcchrstr.h ../include/dcmtk/dcmdata/dcvrlt.h \
../include/dcmtk/dcmdata/dcvrod.h ../include/dcmtk/dcmdata/dcvrof.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrul.h \
../include/dcmtk/dcmdata/dcvrpn.h ../include/dcmtk/dcmdata/dcvrsh.h \
../include/dcmtk/dcmdata/dcvrsl.h ../include/dcmtk/dcmdata/dcvrss.h \
../include/dcmtk/dcmdata/dcvrst.h ../include/dcmtk/dcmdata/dcvrtm.h \
../include/dcmtk/dcmdata/dcvruc.h ../include/dcmtk/dcmdata/dcvrui.h \
- ../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcvrulup.h \
- ../include/dcmtk/dcmdata/dcvrur.h ../include/dcmtk/dcmdata/dcvrus.h \
- ../include/dcmtk/dcmdata/dcvrut.h ../include/dcmtk/dcmdata/dcspchrs.h \
+ ../include/dcmtk/dcmdata/dcvrulup.h ../include/dcmtk/dcmdata/dcvrur.h \
+ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrut.h \
+ ../include/dcmtk/dcmdata/dcspchrs.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../ofstd/include/dcmtk/ofstd/ofutil.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcmetinf.o: dcmetinf.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcerror.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcerror.h
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dcstack.h
dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dccodec.h ../include/dcmtk/dcmdata/dcpixseq.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcswap.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcrleccd.h ../include/dcmtk/dcmdata/dcrlecp.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcrlecce.h ../include/dcmtk/dcmdata/dcrlecp.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcsequen.o: dcsequen.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcsequen.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
dctag.o: dctag.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h
dcuid.o: dcuid.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofcrc32.h \
../../ofstd/include/dcmtk/ofstd/ofnetdb.h
dcvr.o: dcvr.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
dcvrae.o: dcvrae.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcvrae.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrcs.o: dcvrcs.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvrfd.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofuuid.h \
../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
- ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcuid.h
+ ../include/dcmtk/dcmdata/dcswap.h
dcvrof.o: dcvrof.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofuuid.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
- ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcuid.h
+ ../include/dcmtk/dcmdata/dcswap.h
+dcvrol.o: dcvrol.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/ofuuid.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrul.h \
+ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../include/dcmtk/dcmdata/dcerror.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \
+ ../include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
+ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
+ ../include/dcmtk/dcmdata/dcswap.h
dcvrpn.o: dcvrpn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmdata/dcvrpn.h ../include/dcmtk/dcmdata/dcchrstr.h \
../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrsh.o: dcvrsh.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrss.o: dcvrss.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrst.o: dcvrst.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcchrstr.h \
../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvrui.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrulup.o: dcvrulup.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrur.o: dcvrur.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h
dcvrut.o: dcvrut.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcchrstr.h \
../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcelem.h \
../include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcxfer.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmdata/dcuid.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
dccodec.o dcvrda.o dcvrds.o dcvrdt.o dcvris.o dcvrtm.o dcvrui.o \
dcchrstr.o dcvrlo.o dcvrlt.o dcvrpn.o dcvrsh.o dcvrst.o dcvrobow.o \
dcvrat.o dcvrss.o dcvrus.o dcvrsl.o dcvrul.o dcvrulup.o dcvrfl.o \
- dcvrfd.o dcvrpobw.o dcvrof.o dcvrod.o dcdirrec.o dcdicdir.o \
+ dcvrfd.o dcvrpobw.o dcvrof.o dcvrod.o dcvrol.o dcdirrec.o dcdicdir.o \
dcrleccd.o dcrlecce.o dcrlecp.o dcrlerp.o dcrledrg.o dcrleerg.o \
dcdictbi.o dctagkey.o dcdicent.o dcdict.o dcvr.o dchashdi.o cmdlnarg.o \
dcvrut.o dcvrur.o dcvruc.o dctypes.o dcpcache.o dcddirif.o dcistrma.o \
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition DcmDataset::writeXML(STD_NAMESPACE ostream &out,
const size_t flags)
{
+ OFCondition l_error = EC_Normal;
/* the Native DICOM Model as defined for Application Hosting needs special handling */
if (flags & DCMTypes::XF_useNativeModel)
{
elementList->seek(ELP_first);
do {
dO = elementList->get();
- dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace);
- } while (elementList->seek(ELP_next));
+ l_error = dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace);
+ } while (l_error.good() && elementList->seek(ELP_next));
}
- /* write XML end tag (depending on output format) */
- if (flags & DCMTypes::XF_useNativeModel)
+ if (l_error.good())
{
- out << "</NativeDicomModel>" << OFendl;
- } else {
- out << "</data-set>" << OFendl;
+ /* write XML end tag (depending on output format) */
+ if (flags & DCMTypes::XF_useNativeModel)
+ {
+ out << "</NativeDicomModel>" << OFendl;
+ } else {
+ out << "</data-set>" << OFendl;
+ }
}
- /* always report success */
- return EC_Normal;
+ return l_error;
}
case EXS_LittleEndianExplicit:
case EXS_BigEndianExplicit:
case EXS_BigEndianImplicit:
- DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of uncompressed dataset");
+ DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of uncompressed data set");
OriginalXfer = checkTransferSyntax(inStream);
if ((xfer != EXS_Unknown) && (OriginalXfer != xfer))
- DCMDATA_WARN("DcmDataset: Wrong transfer syntax specified, detecting from dataset");
+ DCMDATA_WARN("DcmDataset: Wrong transfer syntax specified, detecting from data set");
break;
default:
- DCMDATA_DEBUG("DcmDataset::read() dataset seems to be compressed, so transfer syntax is not detected");
+ DCMDATA_DEBUG("DcmDataset::read() data set seems to be compressed, so transfer syntax is not detected");
OriginalXfer = xfer;
break;
}
/* If the transfer syntax is given, we want to use it. */
if (xfer == EXS_Unknown)
{
- DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of dataset (because it is unknown)");
+ DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of data set (because it is unknown)");
OriginalXfer = checkTransferSyntax(inStream);
} else
OriginalXfer = xfer;
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2011-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
- * This software and supporting documentation are maintained by
+ * This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* D-26121 Oldenburg, Germany
*
*
- * Module: dcmiod
+ * Module: dcmdata
*
- * Author: Michael Onken
+ * Author: Joerg Riesmeier, Michael Onken
*
* Purpose: Static helper functionality for dcmdata module
*
#include "dcmtk/dcmdata/dcmetinf.h"
#include "dcmtk/dcmdata/dcfilefo.h"
-// --- static helpers ---
+// --- static helpers ---
-OFCondition DcmDataUtil::getSOPInstanceFromFile(const OFString &filename,
+OFCondition DcmDataUtil::getSOPInstanceFromFile(const OFFilename &filename,
OFString &sopClassUID,
OFString &sopInstanceUID,
OFString &transferSyntaxUID,
const E_FileReadMode readMode)
{
OFCondition status = EC_IllegalParameter;
- if (!filename.empty())
+ if (!filename.isEmpty())
{
DCMDATA_DEBUG("getting SOP Class UID, SOP Instance UID and Transfer Syntax UID from DICOM file");
sopClassUID.clear();
if (readMode != ERM_dataset)
{
DcmMetaInfo metaInfo;
- status = metaInfo.loadFile(filename.c_str());
+ status = metaInfo.loadFile(filename);
if (status.good())
{
// try to get the UIDs from the meta-header
if (status.bad() || sopClassUID.empty() || sopInstanceUID.empty() || transferSyntaxUID.empty())
{
DcmFileFormat fileformat;
- status = fileformat.loadFile(filename.c_str(), EXS_Unknown, EGL_noChange, 256 /* maxReadLength */, readMode);
+ status = fileformat.loadFile(filename, EXS_Unknown, EGL_noChange, 256 /* maxReadLength */, readMode);
if (status.good())
{
DcmDataset *dataset = fileformat.getDataset();
/*
*
- * Copyright (C) 2002-2015, OFFIS e.V.
+ * Copyright (C) 2002-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
case ERT_SurfaceScan:
recordName = "SurfaceScan";
break;
+ case ERT_Tract:
+ recordName = "Tract";
+ break;
default:
recordName = "(unknown-directory-record-type)";
break;
compare(sopClass, UID_RadiopharmaceuticalRadiationDoseSRStorage) ||
compare(sopClass, UID_SpectaclePrescriptionReportStorage) ||
compare(sopClass, UID_MacularGridThicknessAndVolumeReportStorage) ||
- compare(sopClass, UID_ImplantationPlanSRDocumentStorage))
+ compare(sopClass, UID_ImplantationPlanSRDocumentStorage) ||
+ compare(sopClass, UID_AcquisitionContextSRStorage))
{
result = ERT_SRDocument;
}
result = ERT_ImplantGroup;
else if (compare(sopClass, UID_ImplantAssemblyTemplateStorage))
result = ERT_ImplantAssy;
- else if (compare(sopClass, UID_RTBeamsDeliveryInstructionStorage))
+ else if (compare(sopClass, UID_RTBeamsDeliveryInstructionStorage) ||
+ compare(sopClass, UID_RTBrachyApplicationSetupDeliveryInstructionStorage))
+ {
result = ERT_Plan;
+ }
else if (compare(sopClass, UID_SurfaceScanMeshStorage) ||
compare(sopClass, UID_SurfaceScanPointCloudStorage))
{
result = ERT_SurfaceScan;
}
+ else if (compare(sopClass, UID_TractographyResultsStorage))
+ result = ERT_Tract;
return result;
}
case ERT_Surface:
case ERT_Measurement:
case ERT_SurfaceScan:
+ case ERT_Tract:
/* try to insert based on InstanceNumber */
result = insertWithISCriterion(parent, child, DCM_InstanceNumber);
break;
case AP_GeneralPurposeBDMPEG2MPatHL:
case AP_GeneralPurposeBDMPEG4HPatLV41:
case AP_GeneralPurposeBDMPEG4HPatLV41BD:
+ case AP_GeneralPurposeBDMPEG4HPatLV42_2D:
+ case AP_GeneralPurposeBDMPEG4HPatLV42_3D:
+ case AP_GeneralPurposeBDMPEG4StereoHPatLV42:
case AP_USBandFlashJPEG:
case AP_USBandFlashJPEG2000:
case AP_GeneralPurposeMIME:
expectedTransferSyntax = UID_MPEG4HighProfileLevel4_1TransferSyntax;
else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD)
expectedTransferSyntax = UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax;
+ else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D)
+ expectedTransferSyntax = UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax;
+ else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D)
+ expectedTransferSyntax = UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax;
+ else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42)
+ expectedTransferSyntax = UID_MPEG4StereoHighProfileLevel4_2TransferSyntax;
/* is it an image ? */
for (int i = 0; i < numberOfDcmImageSOPClassUIDs && !found; i++)
found = compare(mediaSOPClassUID, dcmImageSOPClassUIDs[i]);
{
found = compare(mediaSOPClassUID, UID_RTDoseStorage) ||
compare(mediaSOPClassUID, UID_RTStructureSetStorage) ||
- compare(mediaSOPClassUID, UID_RTBeamsTreatmentRecordStorage) ||
compare(mediaSOPClassUID, UID_RTPlanStorage) ||
- compare(mediaSOPClassUID, UID_RTBrachyTreatmentRecordStorage) ||
compare(mediaSOPClassUID, UID_RTTreatmentSummaryRecordStorage) ||
+ compare(mediaSOPClassUID, UID_RTBeamsTreatmentRecordStorage) ||
+ compare(mediaSOPClassUID, UID_RTBeamsDeliveryInstructionStorage) ||
+ compare(mediaSOPClassUID, UID_RTBrachyTreatmentRecordStorage) ||
+ compare(mediaSOPClassUID, UID_RTBrachyApplicationSetupDeliveryInstructionStorage) ||
compare(mediaSOPClassUID, UID_RTIonPlanStorage) ||
compare(mediaSOPClassUID, UID_RTIonBeamsTreatmentRecordStorage);
}
compare(mediaSOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) ||
compare(mediaSOPClassUID, UID_SpectaclePrescriptionReportStorage) ||
compare(mediaSOPClassUID, UID_MacularGridThicknessAndVolumeReportStorage) ||
- compare(mediaSOPClassUID, UID_ImplantationPlanSRDocumentStorage);
+ compare(mediaSOPClassUID, UID_ImplantationPlanSRDocumentStorage) ||
+ compare(mediaSOPClassUID, UID_AcquisitionContextSRStorage);
}
/* is it one of the waveform SOP Classes? */
if (!found)
compare(mediaSOPClassUID, UID_RealWorldValueMappingStorage) ||
compare(mediaSOPClassUID, UID_HangingProtocolStorage) ||
compare(mediaSOPClassUID, UID_StereometricRelationshipStorage) ||
- compare(mediaSOPClassUID, UID_ColorPaletteStorage);
+ compare(mediaSOPClassUID, UID_ColorPaletteStorage) ||
+ compare(mediaSOPClassUID, UID_TractographyResultsStorage);
}
/* the following SOP classes have been retired with previous editions of the DICOM standard */
if (!found && RetiredSOPClassSupport)
OFSTRINGSTREAM_FREESTR(tmpString)
}
break;
+ case AP_GeneralPurposeBDMPEG4HPatLV42_2D:
+ case AP_GeneralPurposeBDMPEG4HPatLV42_3D:
+ case AP_GeneralPurposeBDMPEG4StereoHPatLV42:
+ /* compare with expected transfer syntax */
+ found = compare(transferSyntax, expectedTransferSyntax);
+ if (found)
+ {
+ /* check for multi-frame composite IOD */
+ if (!isMultiframeStorageSOPClass(mediaSOPClassUID))
+ {
+ /* create error message */
+ OFOStringStream oss;
+ oss << xferName << " only for multi-frame composite IODs: " << filename
+ << OFStringStream_ends;
+ OFSTRINGSTREAM_GETSTR(oss, tmpString)
+ if (TransferSyntaxCheck)
+ {
+ DCMDATA_ERROR(tmpString);
+ result = EC_ApplicationProfileViolated;
+ } else
+ DCMDATA_WARN(tmpString);
+ OFSTRINGSTREAM_FREESTR(tmpString)
+ }
+ } else {
+ const OFString expXferName = dcmFindNameOfUID(expectedTransferSyntax.c_str(), "");
+ /* create error message */
+ OFOStringStream oss;
+ oss << expXferName << " expected but " << xferName << " found: " << filename
+ << OFStringStream_ends;
+ OFSTRINGSTREAM_GETSTR(oss, tmpString)
+ if (TransferSyntaxCheck)
+ {
+ DCMDATA_ERROR(tmpString);
+ result = EC_ApplicationProfileViolated;
+ } else
+ DCMDATA_WARN(tmpString);
+ OFSTRINGSTREAM_FREESTR(tmpString)
+ }
+ break;
case AP_XrayAngiographicDVD:
if (compare(mediaSOPClassUID, UID_XRayAngiographicImageStorage))
{
case ERT_ValueMap:
case ERT_Surface:
case ERT_Measurement:
+ case ERT_Tract:
if (!checkExistsWithValue(dataset, DCM_InstanceNumber, filename))
result = EC_InvalidTag;
if (!checkExistsWithValue(dataset, DCM_ContentDate, filename))
(ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) ||
(ApplicationProfile == AP_USBandFlashJPEG) ||
(ApplicationProfile == AP_USBandFlashJPEG2000) ||
(ApplicationProfile == AP_MPEG2MPatMLDVD))
/* check for empty dataset */
if ((dataset == NULL) || (dataset->card() == 0))
{
- DCMDATA_ERROR("file contains no data (no dataset): " << filename);
+ DCMDATA_ERROR("file contains no data (no data set): " << filename);
result = EC_CorruptedData;
}
/* only proceed if previous checks have been passed */
case ERT_ImplantAssy:
case ERT_Plan:
case ERT_SurfaceScan:
+ case ERT_Tract:
/* The attribute ReferencedSOPInstanceUID is automatically
* put into a Directory Record when a filename is present.
*/
(ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) ||
(ApplicationProfile == AP_USBandFlashJPEG) ||
(ApplicationProfile == AP_USBandFlashJPEG2000) ||
(ApplicationProfile == AP_MPEG2MPatMLDVD))
(ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) ||
(ApplicationProfile == AP_USBandFlashJPEG) ||
(ApplicationProfile == AP_USBandFlashJPEG2000) ||
(ApplicationProfile == AP_MPEG2MPatMLDVD))
(ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) ||
(ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) ||
+ (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) ||
(ApplicationProfile == AP_USBandFlashJPEG) ||
(ApplicationProfile == AP_USBandFlashJPEG2000))
{
}
+// create or update tract record and copy required values from dataset
+DcmDirectoryRecord *DicomDirInterface::buildTractRecord(DcmDirectoryRecord *record,
+ DcmFileFormat *fileformat,
+ const OFString &referencedFileID,
+ const OFFilename &sourceFilename)
+{
+ /* create new surface record */
+ if (record == NULL)
+ record = new DcmDirectoryRecord(ERT_Tract, referencedFileID.c_str(), sourceFilename, fileformat);
+ if (record != NULL)
+ {
+ /* check whether new record is ok */
+ if (record->error().good())
+ {
+ DcmDataset *dataset = fileformat->getDataset();
+ /* copy attribute values from dataset to surface record */
+ copyElementType1(dataset, DCM_ContentDate, record, sourceFilename);
+ copyElementType1(dataset, DCM_ContentTime, record, sourceFilename);
+ copyElementType1(dataset, DCM_InstanceNumber, record, sourceFilename);
+ copyElementType1(dataset, DCM_ContentLabel, record, sourceFilename);
+ copyElementType2(dataset, DCM_ContentDescription, record, sourceFilename);
+ copyElementType2(dataset, DCM_ContentCreatorName, record, sourceFilename);
+ } else {
+ printRecordErrorMessage(record->error(), ERT_Tract, "create");
+ /* free memory */
+ delete record;
+ record = NULL;
+ }
+ } else
+ printRecordErrorMessage(EC_MemoryExhausted, ERT_Tract, "create");
+ return record;
+}
+
+
// create or update image record and copy required values from dataset
DcmDirectoryRecord *DicomDirInterface::buildImageRecord(DcmDirectoryRecord *record,
DcmFileFormat *fileformat,
case AP_GeneralPurposeBDMPEG2MPatHL:
case AP_GeneralPurposeBDMPEG4HPatLV41:
case AP_GeneralPurposeBDMPEG4HPatLV41BD:
+ case AP_GeneralPurposeBDMPEG4HPatLV42_2D:
+ case AP_GeneralPurposeBDMPEG4HPatLV42_3D:
+ case AP_GeneralPurposeBDMPEG4StereoHPatLV42:
case AP_USBandFlashJPEG:
case AP_USBandFlashJPEG2000:
copyElementType1(dataset, DCM_Rows, record, sourceFilename);
case ERT_SurfaceScan:
record = buildSurfaceScanRecord(record, fileformat, referencedFileID, sourceFilename);
break;
+ case ERT_Tract:
+ record = buildTractRecord(record, fileformat, referencedFileID, sourceFilename);
+ break;
default:
/* it can only be an image */
record = buildImageRecord(record, fileformat, referencedFileID, sourceFilename);
case ERT_Measurement:
case ERT_Plan:
case ERT_SurfaceScan:
+ case ERT_Tract:
/* nothing to do */
break;
default:
case AP_GeneralPurposeBDMPEG4HPatLV41BD:
result = "STD-GEN-BD-MPEG4-HPLV41BD";
break;
+ case AP_GeneralPurposeBDMPEG4HPatLV42_2D:
+ result = "STD-GEN-BD-MPEG4-HPLV42-2D";
+ break;
+ case AP_GeneralPurposeBDMPEG4HPatLV42_3D:
+ result = "STD-GEN-BD-MPEG4-HPLV42-3D";
+ break;
+ case AP_GeneralPurposeBDMPEG4StereoHPatLV42:
+ result = "STD-GEN-BD-MPEG4-SHPLV42";
+ break;
case AP_USBandFlashJPEG:
result = "STD-GEN-USB/MMC/CF/SD-JPEG";
break;
**
** User: joergr
** Host: thinkpad
-** Date: 2015-09-18 11:18:13
+** Date: 2016-01-25 17:53:36
** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdictbi
**
** From: ../data/dicom.dic
EVR_AE, "RetrieveAETitle", 1, -1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0008, 0x0055, 0x0008, 0x0055,
+ EVR_AE, "StationAETitle", 1, 1, "CP_1516",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0008, 0x0056, 0x0008, 0x0056,
EVR_CS, "InstanceAvailability", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_SQ, "ReferencedSOPSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0008, 0x119a, 0x0008, 0x119a,
+ EVR_SQ, "OtherFailuresSequence", 1, 1, "CP_1364",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0008, 0x1200, 0x0008, 0x1200,
EVR_SQ, "StudiesContainingOtherReferencedInstancesSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_SQ, "IssuerOfPatientIDQualifiersSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0010, 0x0026, 0x0010, 0x0026,
+ EVR_SQ, "SourcePatientGroupIdentificationSequence", 1, 1, "CP_1457",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0027, 0x0010, 0x0027,
+ EVR_SQ, "GroupOfPatientsIdentificationSequence", 1, 1, "CP_1457",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0028, 0x0010, 0x0028,
+ EVR_US, "SubjectRelativePositionInImage", 3, 3, "CP_1457",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0010, 0x0030, 0x0010, 0x0030,
EVR_DA, "PatientBirthDate", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_SQ, "QualityControlSubjectTypeCodeSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0010, 0x0212, 0x0010, 0x0212,
+ EVR_UC, "StrainDescription", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0213, 0x0010, 0x0213,
+ EVR_LO, "StrainNomenclature", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0214, 0x0010, 0x0214,
+ EVR_LO, "StrainStockNumber", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0215, 0x0010, 0x0215,
+ EVR_SQ, "StrainSourceRegistryCodeSequence", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0216, 0x0010, 0x0216,
+ EVR_SQ, "StrainStockSequence", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0217, 0x0010, 0x0217,
+ EVR_LO, "StrainSource", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0218, 0x0010, 0x0218,
+ EVR_UT, "StrainAdditionalInformation", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0010, 0x0219, 0x0010, 0x0219,
+ EVR_SQ, "StrainCodeSequence", 1, 1, "CP_1478",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0010, 0x1000, 0x0010, 0x1000,
EVR_LO, "OtherPatientIDs", 1, -1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_SQ, "UsedSegmentsSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0062, 0x0020, 0x0062, 0x0020,
+ EVR_UT, "TrackingID", 1, 1, "CP_1496",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0062, 0x0021, 0x0062, 0x0021,
+ EVR_UI, "TrackingUID", 1, 1, "CP_1496",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0064, 0x0002, 0x0064, 0x0002,
EVR_SQ, "DeformableRegistrationSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0066, 0x0040, 0x0066, 0x0040,
- EVR_UL, "LongPrimitivePointIndexList", 1, -1, "DICOM",
+ EVR_OL, "LongPrimitivePointIndexList", 1, 1, "CP_1499",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0066, 0x0041, 0x0066, 0x0041,
- EVR_UL, "LongTrianglePointIndexList", 3, -1, "DICOM",
+ EVR_OL, "LongTrianglePointIndexList", 1, 1, "CP_1499",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0066, 0x0042, 0x0066, 0x0042,
- EVR_UL, "LongEdgePointIndexList", 2, -1, "DICOM",
+ EVR_OL, "LongEdgePointIndexList", 1, 1, "CP_1499",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0066, 0x0043, 0x0066, 0x0043,
- EVR_UL, "LongVertexPointIndexList", 1, -1, "DICOM",
+ EVR_OL, "LongVertexPointIndexList", 1, 1, "CP_1499",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0101, 0x0066, 0x0101,
+ EVR_SQ, "TrackSetSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0102, 0x0066, 0x0102,
+ EVR_SQ, "TrackSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0103, 0x0066, 0x0103,
+ EVR_OW, "RecommendedDisplayCIELabValueList", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0104, 0x0066, 0x0104,
+ EVR_SQ, "TrackingAlgorithmIdentificationSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0105, 0x0066, 0x0105,
+ EVR_UL, "TrackSetNumber", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0106, 0x0066, 0x0106,
+ EVR_LO, "TrackSetLabel", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0107, 0x0066, 0x0107,
+ EVR_UT, "TrackSetDescription", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0108, 0x0066, 0x0108,
+ EVR_SQ, "TrackSetAnatomicalTypeCodeSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0121, 0x0066, 0x0121,
+ EVR_SQ, "MeasurementsSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0124, 0x0066, 0x0124,
+ EVR_SQ, "TrackSetStatisticsSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0125, 0x0066, 0x0125,
+ EVR_OF, "FloatingPointValues", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0129, 0x0066, 0x0129,
+ EVR_OL, "TrackPointIndexList", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0130, 0x0066, 0x0130,
+ EVR_SQ, "TrackStatisticsSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0132, 0x0066, 0x0132,
+ EVR_SQ, "MeasurementValuesSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0133, 0x0066, 0x0133,
+ EVR_SQ, "DiffusionAcquisitionCodeSequence", 1, 1, "Supplement_181",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0066, 0x0134, 0x0066, 0x0134,
+ EVR_SQ, "DiffusionModelCodeSequence", 1, 1, "Supplement_181",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
, { 0x0068, 0x6210, 0x0068, 0x6210,
EVR_SQ, "MatrixSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0070, 0x030b, 0x0070, 0x030b,
+ EVR_FD, "FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix", 16, 16, "CP_1487",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0070, 0x030c, 0x0070, 0x030c,
EVR_CS, "FrameOfReferenceTransformationMatrixType", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_FD, "DoubleExposureFieldDelta", 4, 4, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x0074, 0x1401, 0x0074, 0x1401,
+ EVR_SQ, "BrachyTaskSequence", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1402, 0x0074, 0x1402,
+ EVR_DS, "ContinuationStartTotalReferenceAirKerma", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1403, 0x0074, 0x1403,
+ EVR_DS, "ContinuationEndTotalReferenceAirKerma", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1404, 0x0074, 0x1404,
+ EVR_IS, "ContinuationPulseNumber", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1405, 0x0074, 0x1405,
+ EVR_SQ, "ChannelDeliveryOrderSequence", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1406, 0x0074, 0x1406,
+ EVR_IS, "ReferencedChannelNumber", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1407, 0x0074, 0x1407,
+ EVR_DS, "StartCumulativeTimeWeight", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1408, 0x0074, 0x1408,
+ EVR_DS, "EndCumulativeTimeWeight", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x1409, 0x0074, 0x1409,
+ EVR_SQ, "OmittedChannelSequence", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x140a, 0x0074, 0x140a,
+ EVR_CS, "ReasonForChannelOmission", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x140b, 0x0074, 0x140b,
+ EVR_LO, "ReasonForChannelOmissionDescription", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x140c, 0x0074, 0x140c,
+ EVR_IS, "ChannelDeliveryOrderIndex", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x140d, 0x0074, 0x140d,
+ EVR_SQ, "ChannelDeliveryContinuationSequence", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x0074, 0x140e, 0x0074, 0x140e,
+ EVR_SQ, "OmittedApplicationSetupSequence", 1, 1, "Supplement_184",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x0076, 0x0001, 0x0076, 0x0001,
EVR_LO, "ImplantAssemblyTemplateName", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_FL, "AverageBeamDosePointSSD", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x300a, 0x0090, 0x300a, 0x0090,
+ EVR_CS, "BeamDoseType", 1, 1, "CP_1431",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0091, 0x300a, 0x0091,
+ EVR_DS, "AlternateBeamDose", 1, 1, "CP_1431",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0092, 0x300a, 0x0092,
+ EVR_CS, "AlternateBeamDoseType", 1, 1, "CP_1431",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x300a, 0x00a0, 0x300a, 0x00a0,
EVR_IS, "NumberOfBrachyApplicationSetups", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_CS, "ScanMode", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x300a, 0x0309, 0x300a, 0x0309,
+ EVR_CS, "ModulatedScanModeType", 1, 1, "CP_1432",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x300a, 0x030a, 0x300a, 0x030a,
EVR_FL, "VirtualSourceAxisDistances", 2, 2, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_LO, "PatientSupportAccessoryCode", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x300a, 0x0355, 0x300a, 0x0355,
+ EVR_LO, "TrayAccessoryCode", 1, 1, "CP_1504",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x300a, 0x0356, 0x300a, 0x0356,
EVR_FL, "FixationLightAzimuthalAngle", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
EVR_SQ, "DeviceMotionParameterCodeSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
NULL }
+ , { 0x300a, 0x0501, 0x300a, 0x0501,
+ EVR_FL, "DistalDepthFraction", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0502, 0x300a, 0x0502,
+ EVR_FL, "DistalDepth", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0503, 0x300a, 0x0503,
+ EVR_FL, "NominalRangeModulatioFractions", 2, 2, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0504, 0x300a, 0x0504,
+ EVR_FL, "NominalRangeModulatedRegionDepths", 2, 2, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0505, 0x300a, 0x0505,
+ EVR_SQ, "DepthDoseParametersSequence", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0506, 0x300a, 0x0506,
+ EVR_SQ, "DeliveredDepthDoseParametersSequence", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0507, 0x300a, 0x0507,
+ EVR_FL, "DeliveredDistalDepthFraction", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0508, 0x300a, 0x0508,
+ EVR_FL, "DeliveredDistalDepth", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0509, 0x300a, 0x0509,
+ EVR_FL, "DeliveredNominalRangeModulationFractions", 2, 2, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0510, 0x300a, 0x0510,
+ EVR_FL, "DeliveredNominalRangeModulatedRegionDepths", 2, 2, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0511, 0x300a, 0x0511,
+ EVR_CS, "DeliveredReferenceDoseDefinition", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
+ , { 0x300a, 0x0512, 0x300a, 0x0512,
+ EVR_CS, "ReferenceDoseDefinition", 1, 1, "CP_1460",
+ DcmDictRange_Unspecified, DcmDictRange_Unspecified,
+ NULL }
, { 0x300c, 0x0002, 0x300c, 0x0002,
EVR_SQ, "ReferencedRTPlanSequence", 1, 1, "DICOM",
DcmDictRange_Unspecified, DcmDictRange_Unspecified,
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
"IMPLANT GROUP",
"IMPLANT ASSY",
"PLAN",
- "SURFACE SCAN"
+ "SURFACE SCAN",
+ "TRACT"
};
static const short DIM_OF_DRTypeNames = OFstatic_cast(short, (sizeof(DRTypeNames) / sizeof(DRTypeNames[0])));
break;
}
break;
- case ERT_FilmBox:
+ case ERT_FilmBox: // retired
switch (lowerRecord)
{
case ERT_ImageBox:
break;
}
break;
- case ERT_FilmSession:
+ case ERT_FilmSession: // retired
switch (lowerRecord)
{
case ERT_FilmBox:
break;
}
break;
- case ERT_PrintQueue:
+ case ERT_PrintQueue: // retired
switch (lowerRecord)
{
case ERT_FilmSession:
break;
}
break;
- case ERT_Results:
+ case ERT_Results: // retired
switch (lowerRecord)
{
case ERT_Interpretation:
case ERT_Measurement:
case ERT_Plan:
case ERT_SurfaceScan:
+ case ERT_Tract:
case ERT_Private:
l_error = EC_Normal;
break;
break;
}
break;
- case ERT_Topic:
+ case ERT_Topic: // retired
switch (lowerRecord)
{
case ERT_Curve:
break;
}
break;
- case ERT_Mrdr:
+ case ERT_Mrdr: // retired
l_error = EC_IllegalCall;
break;
case ERT_Curve:
case ERT_ImplantAssy:
case ERT_Plan:
case ERT_SurfaceScan:
+ case ERT_Tract:
case ERT_Private:
switch (lowerRecord)
{
static void hostToDicomFilename(char *fname)
{
/*
- ** Massage filename into dicom format.
+ ** Massage filename into DICOM format.
** Eliminate any invalid characters.
** Most commonly there is a '.' at the end of a filename.
*/
OFCondition DcmDirectoryRecord::writeXML(STD_NAMESPACE ostream &out,
const size_t flags)
{
+ OFCondition l_error = EC_Normal;
if (flags & DCMTypes::XF_useNativeModel)
{
/* in Native DICOM Model, there is no concept of a DICOMDIR */
- return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error,
+ l_error = makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error,
"Cannot convert Directory Record to Native DICOM Model");
} else {
/* XML start tag for "item" */
elementList->seek(ELP_first);
do {
dO = elementList->get();
- dO->writeXML(out, flags);
- } while (elementList->seek(ELP_next));
+ l_error = dO->writeXML(out, flags);
+ } while (l_error.good() && elementList->seek(ELP_next));
+ }
+ if (l_error.good())
+ {
+ if (lowerLevelList->card() > 0)
+ lowerLevelList->writeXML(out, flags);
+ /* XML end tag for "item" */
+ out << "</item>" << OFendl;
}
- if (lowerLevelList->card() > 0)
- lowerLevelList->writeXML(out, flags);
- /* XML end tag for "item" */
- out << "</item>" << OFendl;
- /* always report success */
- return EC_Normal;
}
+ return l_error;
}
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
DCMDATA_WARN("Cannot write private creator for group 0x"
<< STD_NAMESPACE hex << STD_NAMESPACE setfill('0') << STD_NAMESPACE setw(4)
<< tag.getGTag() << STD_NAMESPACE dec << STD_NAMESPACE setfill(' ')
- << " to XML output: Not present in dataset");
+ << " to XML output: Not present in data set");
}
}
} else {
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition DcmFileFormat::writeXML(STD_NAMESPACE ostream &out,
const size_t flags)
{
+ OFCondition l_error = EC_Normal;
if (flags & DCMTypes::XF_useNativeModel)
{
/* in Native DICOM Model, there is no concept of a "file format" */
if (dset != NULL)
{
/* write content of dataset */
- return dset->writeXML(out, flags);
+ l_error = dset->writeXML(out, flags);
} else {
- return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error,
- "Cannot convert to Native DICOM Model: No dataset present");
+ l_error = makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error,
+ "Cannot convert to Native DICOM Model: No data set present");
}
} else {
- OFCondition result = EC_CorruptedData;
/* XML start tag for "file-format" */
out << "<file-format";
if (flags & DCMTypes::XF_useXMLNamespace)
itemList->seek(ELP_first);
do {
dO = itemList->get();
- dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace);
- } while (itemList->seek(ELP_next));
- result = EC_Normal;
+ l_error = dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace);
+ } while (l_error.good() && itemList->seek(ELP_next));
+ } else {
+ /* a file format should never be empty */
+ l_error = EC_CorruptedData;
+ }
+ if (l_error.good())
+ {
+ /* XML end tag for "file-format" */
+ out << "</file-format>" << OFendl;
}
- /* XML end tag for "file-format" */
- out << "</file-format>" << OFendl;
- return result;
}
+ return l_error;
}
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmdata/dcvrobow.h"
#include "dcmtk/dcmdata/dcvrod.h"
#include "dcmtk/dcmdata/dcvrof.h"
+#include "dcmtk/dcmdata/dcvrol.h"
#include "dcmtk/dcmdata/dcvrpn.h"
#include "dcmtk/dcmdata/dcvrsh.h"
#include "dcmtk/dcmdata/dcvrsl.h"
if (rhsVal)
{
int result = val->compare(*rhsVal);
- if (val != 0)
+ if (result != 0)
{
return result;
}
OFCondition DcmItem::writeXML(STD_NAMESPACE ostream &out,
const size_t flags)
{
+ OFCondition l_error = EC_Normal;
if (!(flags & DCMTypes::XF_useNativeModel))
{
/* XML start tag for "item" */
elementList->seek(ELP_first);
do {
dO = elementList->get();
- dO->writeXML(out, flags);
- } while (elementList->seek(ELP_next));
+ l_error = dO->writeXML(out, flags);
+ } while (l_error.good() && elementList->seek(ELP_next));
}
- if (!(flags & DCMTypes::XF_useNativeModel))
+ if (l_error.good())
{
- /* XML end tag for "item" */
- out << "</item>" << OFendl;
+ if (!(flags & DCMTypes::XF_useNativeModel))
+ {
+ /* XML end tag for "item" */
+ out << "</item>" << OFendl;
+ }
}
- /* always report success */
- return EC_Normal;
+ return l_error;
}
if (newEVR != vr.getEVR())
{
/* ignore explicit VR in dataset if tag is defined in data dictionary */
- DCMDATA_DEBUG("DcmItem::readTagAndLength() ignoring explicit VR in dataset ("
+ DCMDATA_DEBUG("DcmItem::readTagAndLength() ignoring explicit VR in data set ("
<< vr.getVRName() << ") for element " << newTag
<< ", using the one from data dictionary (" << newTag.getVRName() << ")");
}
{
// produce diagnostics
DCMDATA_WARN("DcmItem: Element " << newTag
- << " found twice in one dataset/item, ignoring second entry");
+ << " found twice in one data set or item, ignoring second entry");
delete subElem;
}
}
/* if desired, accept premature sequence delimitation item and continue as if item has been completely read. */
/* The stream position has been rewound to the start position of the sequence end */
/* delimiter tag in order to let DcmSequenceOfItems handle the delimiter in the reading routine. */
- else if ( (errorFlag == EC_PrematureSequDelimitationItem) && dcmIgnoreParsingErrors.get() )
+ else if ((errorFlag == EC_PrematureSequDelimitationItem) && dcmIgnoreParsingErrors.get())
{
- DCMDATA_WARN("DcmItem: Sequence delimitation occured before all bytes announced by explicit item length could be read"
+ DCMDATA_WARN("DcmItem: Sequence delimitation occurred before all bytes announced by explicit item length could be read"
<< ", trying to continue as if item was completely read");
errorFlag = EC_ItemEnd; // make sure that error code leads to normal return from item reading loop
break; // we are completed with the item since sequence is closed
/* for this element; hence lastElementComplete is true again */
if (errorFlag.good())
lastElementComplete = OFTrue;
+ /* in data sets, group 0x0000 to 0x0003, 0x0005, 0x0007 and 0xFFFF are not allowed */
+ if ((newTag.getGroup() == 0x0000) || (newTag.getGroup() == 0x0002) || !newTag.hasValidGroup())
+ DCMDATA_WARN("DcmItem: Invalid Element " << newTag << " found in data set");
}
- } else
- {
+ } else {
/* if lastElementComplete is false, we have only read the current element's */
/* tag and length (and possibly VR) information as well as maybe some data */
/* data value information. We need to continue reading the data value */
ident() == EVR_dataset)
{
DCMDATA_WARN("DcmItem: Element " << newTag.getTagName() << " " << newTag
- << " encountered, skipping rest of dataset");
+ << " encountered, skipping rest of data set");
readStopElem = OFTrue;
}
}
break;
case EVR_up : // for (0004,eeee) according to DICOM standard
case EVR_UL :
- {
- // generate tag with VR from dictionary!
- DcmTag ulupTag(tag.getXTag());
- if (ulupTag.getEVR() == EVR_up)
- newElement = new DcmUnsignedLongOffset(ulupTag, length);
- else
- newElement = new DcmUnsignedLong(tag, length);
- }
- break;
+ {
+ // generate tag with VR from dictionary!
+ DcmTag ulupTag(tag.getXTag());
+ if (ulupTag.getEVR() == EVR_up)
+ newElement = new DcmUnsignedLongOffset(ulupTag, length);
+ else
+ newElement = new DcmUnsignedLong(tag, length);
+ }
+ break;
+ case EVR_OL :
+ newElement = new DcmOtherLong(tag, length);
+ break;
case EVR_FL :
newElement = new DcmFloatingPointSingle(tag, length);
break;
switch (elem->ident())
{
case EVR_UL:
+ case EVR_OL:
case EVR_up:
Uint32 ul;
status = elem->getUint32(ul, pos);
case EVR_OF:
elem = new DcmOtherFloat(tag);
break;
+ case EVR_OL:
+ elem = new DcmOtherLong(tag);
+ break;
case EVR_PN:
elem = new DcmPersonName(tag);
break;
case EVR_UL:
elem = new DcmUnsignedLong(tag);
break;
+ case EVR_OL:
+ elem = new DcmOtherLong(tag);
+ break;
case EVR_UNKNOWN:
/* Unknown VR, e.g. tag not found in data dictionary */
status = EC_UnknownVR;
}
+OFCondition DcmItem::putAndInsertUint32Array(const DcmTag& tag,
+ const Uint32 *value,
+ const unsigned long count,
+ const OFBool replaceOld)
+{
+ OFCondition status = EC_Normal;
+ /* create new element */
+ DcmElement *elem = NULL;
+ switch(tag.getEVR())
+ {
+ case EVR_OL:
+ elem = new DcmOtherLong(tag);
+ break;
+ case EVR_UL:
+ elem = new DcmUnsignedLong(tag);
+ break;
+ default:
+ status = EC_IllegalCall;
+ break;
+ }
+ if (elem != NULL)
+ {
+ /* put value */
+ status = elem->putUint32Array(value, count);
+ /* insert into dataset/item */
+ if (status.good())
+ status = insert(elem, replaceOld);
+ /* could not be inserted, therefore, delete it immediately */
+ if (status.bad())
+ delete elem;
+ } else if (status.good())
+ status = EC_MemoryExhausted;
+ return status;
+}
+
+
OFCondition DcmItem::putAndInsertSint32(const DcmTag& tag,
const Sint32 value,
const unsigned long pos,
case EVR_OF:
elem = new DcmOtherFloat(tag);
break;
+ case EVR_OL:
+ elem = new DcmOtherLong(tag);
+ break;
case EVR_PN:
elem = new DcmPersonName(tag);
break;
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition DcmMetaInfo::writeXML(STD_NAMESPACE ostream &out,
const size_t flags)
{
+ OFCondition l_error = EC_Normal;
if (flags & DCMTypes::XF_useNativeModel)
{
/* in Native DICOM Model, there is no concept of a "file format" */
- return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error,
+ l_error = makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error,
"Cannot convert File Meta Information to Native DICOM Model");
} else {
OFString xmlString;
do
{
dO = elementList->get();
- dO->writeXML(out, flags);
- } while (elementList->seek(ELP_next));
+ l_error = dO->writeXML(out, flags);
+ } while (l_error.good() && elementList->seek(ELP_next));
+ }
+ if (l_error.good())
+ {
+ /* XML end tag for "meta-header" */
+ out << "</meta-header>" << OFendl;
}
- /* XML end tag for "meta-header" */
- out << "</meta-header>" << OFendl;
- /* always report success */
- return EC_Normal;
}
+ return l_error;
}
/*
*
- * Copyright (C) 1994-2012, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition DcmPixelItem::writeXML(STD_NAMESPACE ostream&out,
const size_t flags)
{
- /* XML start tag for "item" */
- out << "<pixel-item";
- /* value length in bytes = 0..max */
- out << " len=\"" << getLengthField() << "\"";
- /* value loaded = no (or absent)*/
- if (!valueLoaded())
- out << " loaded=\"no\"";
- /* pixel item contains binary data */
- if (!(flags & DCMTypes::XF_writeBinaryData))
- out << " binary=\"hidden\"";
- else if (flags & DCMTypes::XF_encodeBase64)
- out << " binary=\"base64\"";
- else
- out << " binary=\"yes\"";
- out << ">";
- /* write element value (if loaded) */
- if (valueLoaded() && (flags & DCMTypes::XF_writeBinaryData))
+ if (flags & DCMTypes::XF_useNativeModel)
{
- /* encode binary data as Base64 */
- if (flags & DCMTypes::XF_encodeBase64)
+ /* in Native DICOM Model, there is no concept of a "pixel item" */
+ return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error,
+ "Cannot convert Pixel Item to Native DICOM Model");
+ } else {
+ /* XML start tag for "item" */
+ out << "<pixel-item";
+ /* value length in bytes = 0..max */
+ out << " len=\"" << getLengthField() << "\"";
+ /* value loaded = no (or absent)*/
+ if (!valueLoaded())
+ out << " loaded=\"no\"";
+ /* pixel item contains binary data */
+ if (!(flags & DCMTypes::XF_writeBinaryData))
+ out << " binary=\"hidden\"";
+ else if (flags & DCMTypes::XF_encodeBase64)
+ out << " binary=\"base64\"";
+ else
+ out << " binary=\"yes\"";
+ out << ">";
+ /* write element value (if loaded) */
+ if (valueLoaded() && (flags & DCMTypes::XF_writeBinaryData))
{
- /* pixel items always contain 8 bit data, therefore, byte swapping not required */
- OFStandard::encodeBase64(out, OFstatic_cast(Uint8 *, getValue()), OFstatic_cast(size_t, getLengthField()));
- } else {
- /* get and check 8 bit data */
- Uint8 *byteValues = NULL;
- if (getUint8Array(byteValues).good() && (byteValues != NULL))
+ /* encode binary data as Base64 */
+ if (flags & DCMTypes::XF_encodeBase64)
{
- const unsigned long count = getLengthField();
- out << STD_NAMESPACE hex << STD_NAMESPACE setfill('0');
- /* print byte values in hex mode */
- out << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++));
- for (unsigned long i = 1; i < count; i++)
- out << "\\" << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++));
- /* reset i/o manipulators */
- out << STD_NAMESPACE dec << STD_NAMESPACE setfill(' ');
+ /* pixel items always contain 8 bit data, therefore, byte swapping not required */
+ OFStandard::encodeBase64(out, OFstatic_cast(Uint8 *, getValue()), OFstatic_cast(size_t, getLengthField()));
+ } else {
+ /* get and check 8 bit data */
+ Uint8 *byteValues = NULL;
+ if (getUint8Array(byteValues).good() && (byteValues != NULL))
+ {
+ const unsigned long count = getLengthField();
+ out << STD_NAMESPACE hex << STD_NAMESPACE setfill('0');
+ /* print byte values in hex mode */
+ out << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++));
+ for (unsigned long i = 1; i < count; i++)
+ out << "\\" << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++));
+ /* reset i/o manipulators */
+ out << STD_NAMESPACE dec << STD_NAMESPACE setfill(' ');
+ }
}
}
+ /* XML end tag for "item" */
+ out << "</pixel-item>" << OFendl;
+ /* always report success */
+ return EC_Normal;
}
- /* XML end tag for "item" */
- out << "</pixel-item>" << OFendl;
- /* always report success */
- return EC_Normal;
}
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition DcmSequenceOfItems::writeXML(STD_NAMESPACE ostream&out,
const size_t flags)
{
+ OFCondition l_error = EC_Normal;
if (flags & DCMTypes::XF_useNativeModel)
{
/* use common method from DcmElement to write start tag */
{
out << "<Item number=\"" << (itemNo++) << "\">" << OFendl;
dO = itemList->get();
- dO->writeXML(out, flags);
+ l_error = dO->writeXML(out, flags);
+ /* exit loop in case of error */
+ if (l_error.bad()) break;
out << "</Item>" << OFendl;
} while (itemList->seek(ELP_next));
}
- /* use common method from DcmElement to write end tag */
- DcmElement::writeXMLEndTag(out, flags);
+ if (l_error.good())
+ {
+ /* use common method from DcmElement to write end tag */
+ DcmElement::writeXMLEndTag(out, flags);
+ }
} else {
OFString xmlString;
DcmVR vr(getTag().getVR());
do
{
dO = itemList->get();
- dO->writeXML(out, flags);
- } while (itemList->seek(ELP_next));
+ l_error = dO->writeXML(out, flags);
+ } while (l_error.good() && itemList->seek(ELP_next));
+ }
+ if (l_error.good())
+ {
+ /* XML end tag for "sequence" */
+ out << "</sequence>" << OFendl;
}
- /* XML end tag for "sequence" */
- out << "</sequence>" << OFendl;
}
- /* always report success */
- return EC_Normal;
+ return l_error;
}
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{ UID_RFC2557MIMEEncapsulationTransferSyntax, "RFC2557MIMEEncapsulation" },
{ UID_XMLEncodingTransferSyntax, "XMLEncoding" },
- // Storage
+ // Storage (DICOM)
+ { UID_AcquisitionContextSRStorage, "AcquisitionContextSRStorage" },
{ UID_AmbulatoryECGWaveformStorage, "AmbulatoryECGWaveformStorage" },
{ UID_ArterialPulseWaveformStorage, "ArterialPulseWaveformStorage" },
{ UID_AutorefractionMeasurementsStorage, "AutorefractionMeasurementsStorage" },
{ UID_RawDataStorage, "RawDataStorage" },
{ UID_RealWorldValueMappingStorage, "RealWorldValueMappingStorage" },
{ UID_RespiratoryWaveformStorage, "RespiratoryWaveformStorage" },
+ { UID_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorage" },
{ UID_RTBeamsTreatmentRecordStorage, "RTBeamsTreatmentRecordStorage" },
+ { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTBrachyApplicationSetupDeliveryInstructionStorage" },
{ UID_RTBrachyTreatmentRecordStorage, "RTBrachyTreatmentRecordStorage" },
{ UID_RTDoseStorage, "RTDoseStorage" },
{ UID_RTImageStorage, "RTImageStorage" },
{ UID_SurfaceScanMeshStorage, "SurfaceScanMeshStorage" },
{ UID_SurfaceScanPointCloudStorage, "SurfaceScanPointCloudStorage" },
{ UID_SurfaceSegmentationStorage, "SurfaceSegmentationStorage" },
+ { UID_TractographyResultsStorage, "TractographyResultsStorage" },
{ UID_TwelveLeadECGWaveformStorage, "TwelveLeadECGWaveformStorage" },
{ UID_UltrasoundImageStorage, "UltrasoundImageStorage" },
{ UID_UltrasoundMultiframeImageStorage, "UltrasoundMultiframeImageStorage" },
{ UID_MOVECompositeInstanceRootRetrieve, "MOVECompositeInstanceRootRetrieve" },
{ UID_RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel, "RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel" },
- // Worklist
+ // Modality Worklist
{ UID_FINDModalityWorklistInformationModel, "FINDModalityWorklistInformationModel" },
// General Purpose Worklist
{ UID_ModalityPerformedProcedureStepRetrieveSOPClass, "ModalityPerformedProcedureStepRetrieveSOPClass" },
{ UID_ModalityPerformedProcedureStepSOPClass, "ModalityPerformedProcedureStepSOPClass" },
- // Radiotherapy Treatment Delivery
- { UID_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorage" },
+ // Radiotherapy
{ UID_RTConventionalMachineVerification, "RTConventionalMachineVerification" },
{ UID_RTIonMachineVerification, "RTIonMachineVerification" },
*/
const char* dcmAllStorageSOPClassUIDs[] = {
+ UID_AcquisitionContextSRStorage,
UID_AmbulatoryECGWaveformStorage,
UID_ArterialPulseWaveformStorage,
UID_AutorefractionMeasurementsStorage,
UID_RespiratoryWaveformStorage,
UID_RTBeamsDeliveryInstructionStorage,
UID_RTBeamsTreatmentRecordStorage,
+ UID_RTBrachyApplicationSetupDeliveryInstructionStorage,
UID_RTBrachyTreatmentRecordStorage,
UID_RTDoseStorage,
UID_RTImageStorage,
UID_SurfaceScanMeshStorage,
UID_SurfaceScanPointCloudStorage,
UID_SurfaceSegmentationStorage,
+ UID_TractographyResultsStorage,
UID_TwelveLeadECGWaveformStorage,
UID_UltrasoundImageStorage,
UID_UltrasoundMultiframeImageStorage,
UID_XRayRadiationDoseSRStorage,
UID_XRayRadiofluoroscopicImageStorage,
// recently approved
+// UID_AcquisitionContextSRStorage,
// UID_BreastProjectionXRayImageStorageForPresentation,
// UID_BreastProjectionXRayImageStorageForProcessing,
// UID_CompositingPlanarMPRVolumetricPresentationStateStorage
// UID_LegacyConvertedEnhancedPETImageStorage,
// UID_ParametricMapStorage,
// UID_RadiopharmaceuticalRadiationDoseSRStorage,
+// UID_RTBrachyApplicationSetupDeliveryInstructionStorage,
+// UID_TractographyResultsStorage,
// UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage,
// UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage,
// retired
** the size of an image being transmitted).
*/
static const DcmModalityTable modalities[] = {
+ { UID_AcquisitionContextSRStorage, "SRa", 4096 },
{ UID_AmbulatoryECGWaveformStorage, "ECA", 4096 },
{ UID_ArterialPulseWaveformStorage, "WVa", 4096 },
{ UID_AutorefractionMeasurementsStorage, "OPa", 4096 },
{ UID_RespiratoryWaveformStorage, "WVr", 4096 },
{ UID_RTBeamsDeliveryInstructionStorage, "RTd", 4096 },
{ UID_RTBeamsTreatmentRecordStorage, "RTb", 4096 },
+ { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTa", 4096 },
{ UID_RTBrachyTreatmentRecordStorage, "RTr", 4096 },
{ UID_RTDoseStorage, "RD", 4096 },
{ UID_RTImageStorage, "RI", 4096 },
{ UID_SurfaceScanMeshStorage, "SSm", 4096 },
{ UID_SurfaceScanPointCloudStorage, "SSp", 4096 },
{ UID_SurfaceSegmentationStorage, "SGs", 4096 },
+ { UID_TractographyResultsStorage, "TR", 4096 },
{ UID_TwelveLeadECGWaveformStorage, "TLE", 4096 },
{ UID_UltrasoundImageStorage, "US", 512 * 512 },
{ UID_UltrasoundMultiframeImageStorage, "USm", 512 * 512 },
OUT HANDLE *hPollForTrapEvent,
OUT AsnObjectIdentifier *supportedView);
-typedef bool(WINAPI *pSnmpExtensionTrap) (
- OUT AsnObjectIdentifier *enterprise,
- OUT AsnInteger32 *genericTrap,
- OUT AsnInteger32 *specificTrap,
- OUT AsnTimeticks *timeStamp,
- OUT SnmpVarBindList *variableBindings);
-
typedef bool(WINAPI *pSnmpExtensionQuery) (
IN BYTE requestType,
IN OUT SnmpVarBindList *variableBindings,
OUT AsnInteger32 *errorStatus,
OUT AsnInteger32 *errorIndex);
-typedef bool(WINAPI *pSnmpExtensionInitEx) (
- OUT AsnObjectIdentifier *supportedView);
-
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
UINT OID_ipMACEntAddr[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 6};
AsnObjectIdentifier MIB_ifMACEntAddr = {sizeof(OID_ipMACEntAddr) / sizeof(UINT), OID_ipMACEntAddr};
AsnObjectIdentifier MIB_ifEntryType = {sizeof(OID_ifEntryType) / sizeof(UINT), OID_ifEntryType};
- AsnObjectIdentifier MIB_ifEntryNum = {sizeof(OID_ifEntryNum) / sizeof(UINT), OID_ifEntryNum};
SnmpVarBindList varBindList;
SnmpVarBind varBind[2];
AsnInteger32 errorStatus;
int dtmp;
int j = 0;
pSnmpExtensionInit m_Init = (pSnmpExtensionInit)GetProcAddress(m_hInst2, "SnmpExtensionInit");
- /* pSnmpExtensionInitEx m_InitEx = (pSnmpExtensionInitEx)GetProcAddress(m_hInst2, "SnmpExtensionInitEx"); */
pSnmpExtensionQuery m_Query = (pSnmpExtensionQuery)GetProcAddress(m_hInst2, "SnmpExtensionQuery");
- /* pSnmpExtensionTrap m_Trap = (pSnmpExtensionTrap)GetProcAddress(m_hInst2, "SnmpExtensionTrap"); */
m_Init(GetTickCount(), &PollForTrapEvent, &SupportedView);
/* initialize the variable list to be retrieved by m_Query */
varBindList.list = varBind;
varBind[0].name = MIB_NULL;
varBind[1].name = MIB_NULL;
- /* copy in the OID to find the number of entries in the interface table */
- varBindList.len = 1; /* only retrieving one item */
- m_Copy(&varBind[0].name, &MIB_ifEntryNum);
- ret = m_Query(SNMP_PDU_GETNEXT, &varBindList, &errorStatus, &errorIndex);
varBindList.len = 2;
/* copy in the OID of ifType, the type of interface */
m_Copy(&varBind[0].name, &MIB_ifEntryType);
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
OFGlobal<OFBool> dcmEnableUnknownVRGeneration(OFTrue);
OFGlobal<OFBool> dcmEnableUnlimitedTextVRGeneration(OFTrue);
-OFGlobal<OFBool> dcmEnableOtherFloatStringVRGeneration(OFTrue);
-OFGlobal<OFBool> dcmEnableOtherDoubleStringVRGeneration(OFTrue);
+OFGlobal<OFBool> dcmEnableOtherFloatVRGeneration(OFTrue);
+OFGlobal<OFBool> dcmEnableOtherDoubleVRGeneration(OFTrue);
+OFGlobal<OFBool> dcmEnableOtherLongVRGeneration(OFTrue);
OFGlobal<OFBool> dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration(OFTrue);
OFGlobal<OFBool> dcmEnableUnlimitedCharactersVRGeneration(OFTrue);
OFGlobal<OFBool> dcmEnableUnknownVRConversion(OFFalse);
{
dcmEnableUnknownVRGeneration.set(OFTrue);
dcmEnableUnlimitedTextVRGeneration.set(OFTrue);
- dcmEnableOtherFloatStringVRGeneration.set(OFTrue);
- dcmEnableOtherDoubleStringVRGeneration.set(OFTrue);
+ dcmEnableOtherFloatVRGeneration.set(OFTrue);
+ dcmEnableOtherDoubleVRGeneration.set(OFTrue);
+ dcmEnableOtherLongVRGeneration.set(OFTrue);
dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration.set(OFTrue);
dcmEnableUnlimitedCharactersVRGeneration.set(OFTrue);
}
{
dcmEnableUnknownVRGeneration.set(OFFalse);
dcmEnableUnlimitedTextVRGeneration.set(OFFalse);
- dcmEnableOtherFloatStringVRGeneration.set(OFFalse);
- dcmEnableOtherDoubleStringVRGeneration.set(OFFalse);
+ dcmEnableOtherFloatVRGeneration.set(OFFalse);
+ dcmEnableOtherDoubleVRGeneration.set(OFFalse);
+ dcmEnableOtherLongVRGeneration.set(OFFalse);
dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration.set(OFFalse);
dcmEnableUnlimitedCharactersVRGeneration.set(OFFalse);
}
{ EVR_OB, "OB", sizeof(Uint8), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{ EVR_OD, "OD", sizeof(Float64), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{ EVR_OF, "OF", sizeof(Float32), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
+ { EVR_OL, "OL", sizeof(Uint32), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{ EVR_OW, "OW", sizeof(Uint16), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength },
{ EVR_PN, "PN", sizeof(char), DCMVR_PROP_ISASTRING, 0, 64 },
{ EVR_SH, "SH", sizeof(char), DCMVR_PROP_ISASTRING, 0, 16 },
}
break;
case EVR_OF:
- if (!dcmEnableOtherFloatStringVRGeneration.get())
+ if (!dcmEnableOtherFloatVRGeneration.get())
{
if (dcmEnableUnknownVRGeneration.get())
evr = EVR_UN; /* handle OF as if UN */
}
break;
case EVR_OD:
- if (!dcmEnableOtherDoubleStringVRGeneration.get())
+ if (!dcmEnableOtherDoubleVRGeneration.get())
{
if (dcmEnableUnknownVRGeneration.get())
evr = EVR_UN; /* handle OD as if UN */
evr = EVR_OB; /* handle OD as if OB */
}
break;
+ case EVR_OL:
+ if (!dcmEnableOtherLongVRGeneration.get())
+ {
+ if (dcmEnableUnknownVRGeneration.get())
+ evr = EVR_UN; /* handle OL as if UN */
+ else
+ evr = EVR_OB; /* handle OL as if OB */
+ }
+ break;
case EVR_UR:
if (!dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration.get())
{
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
errorFlag = getFloat64Array(doubleVals);
if (doubleVals != NULL)
{
- const unsigned long count = getVM();
+ const unsigned long count = getLengthField() / OFstatic_cast(unsigned long, sizeof(Float64)) /* do not use getVM()! */;
const unsigned long maxLength = (flags & DCMTypes::PF_shortenLongTagValues) ?
DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1) /*unlimited*/;
unsigned long printedLength = 0;
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
const unsigned long count = getLengthField() / OFstatic_cast(unsigned long, sizeof(Float32)) /* do not use getVM()! */;
const unsigned long maxLength = (flags & DCMTypes::PF_shortenLongTagValues) ?
- DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1);
+ DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1) /*unlimited*/;
unsigned long printedLength = 0;
unsigned long newLength = 0;
char buffer[64];
/*
*
- * Copyright (C) 2013, OFFIS e.V.
+ * Copyright (C) 2013-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofuuid.h"
#include "dcmtk/dcmdata/dcvrod.h"
-#include "dcmtk/dcmdata/dcvrfd.h"
#include "dcmtk/dcmdata/dcswap.h"
-#include "dcmtk/dcmdata/dcuid.h" /* for UID generation */
// ********************************
OFCondition DcmOtherDouble::checkValue(const OFString & /*vm*/,
- const OFBool /*oldFormat*/)
+ const OFBool /*oldFormat*/)
{
/* currently no checks are performed */
return EC_Normal;
unsigned long DcmOtherDouble::getVM()
{
- /* value multiplicity for OF is defined as 1 */
+ /* value multiplicity for OD is defined as 1 */
return 1;
}
{
/* always write XML start tag */
writeXMLStartTag(out, flags);
- /* OF data requires special handling in the Native DICOM Model format */
+ /* OD data requires special handling in the Native DICOM Model format */
if (flags & DCMTypes::XF_useNativeModel)
{
/* for an empty value field, we do not need to do anything */
/*
*
- * Copyright (C) 2002-2013, OFFIS e.V.
+ * Copyright (C) 2002-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofuuid.h"
#include "dcmtk/dcmdata/dcvrof.h"
-#include "dcmtk/dcmdata/dcvrfl.h"
#include "dcmtk/dcmdata/dcswap.h"
-#include "dcmtk/dcmdata/dcuid.h" /* for UID generation */
// ********************************
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmdata
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose: Implementation of class DcmOtherLong
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/ofstd/ofuuid.h"
+
+#include "dcmtk/dcmdata/dcvrol.h"
+#include "dcmtk/dcmdata/dcswap.h"
+
+
+// ********************************
+
+
+DcmOtherLong::DcmOtherLong(const DcmTag &tag,
+ const Uint32 len)
+ : DcmUnsignedLong(tag, len)
+{
+}
+
+
+DcmOtherLong::DcmOtherLong(const DcmOtherLong &old)
+ : DcmUnsignedLong(old)
+{
+}
+
+
+DcmOtherLong::~DcmOtherLong()
+{
+}
+
+
+DcmOtherLong &DcmOtherLong::operator=(const DcmOtherLong &obj)
+{
+ DcmUnsignedLong::operator=(obj);
+ return *this;
+}
+
+
+OFCondition DcmOtherLong::copyFrom(const DcmObject& rhs)
+{
+ if (this != &rhs)
+ {
+ if (rhs.ident() != ident()) return EC_IllegalCall;
+ *this = OFstatic_cast(const DcmOtherLong &, rhs);
+ }
+ return EC_Normal;
+}
+
+
+// ********************************
+
+
+DcmEVR DcmOtherLong::ident() const
+{
+ return EVR_OL;
+}
+
+
+OFCondition DcmOtherLong::checkValue(const OFString & /*vm*/,
+ const OFBool /*oldFormat*/)
+{
+ /* currently no checks are performed */
+ return EC_Normal;
+}
+
+
+unsigned long DcmOtherLong::getVM()
+{
+ /* value multiplicity for OL is defined as 1 */
+ return 1;
+}
+
+
+// ********************************
+
+
+OFCondition DcmOtherLong::writeXML(STD_NAMESPACE ostream &out,
+ const size_t flags)
+{
+ /* always write XML start tag */
+ writeXMLStartTag(out, flags);
+ /* OL data requires special handling in the Native DICOM Model format */
+ if (flags & DCMTypes::XF_useNativeModel)
+ {
+ /* for an empty value field, we do not need to do anything */
+ if (getLengthField() > 0)
+ {
+ /* encode binary data as Base64 */
+ if (flags & DCMTypes::XF_encodeBase64)
+ {
+ out << "<InlineBinary>";
+ Uint8 *byteValues = OFstatic_cast(Uint8 *, getValue());
+ /* Base64 encoder requires big endian input data */
+ swapIfNecessary(EBO_BigEndian, gLocalByteOrder, byteValues, getLengthField(), sizeof(Uint32));
+ /* update the byte order indicator variable correspondingly */
+ setByteOrder(EBO_BigEndian);
+ OFStandard::encodeBase64(out, byteValues, OFstatic_cast(size_t, getLengthField()));
+ out << "</InlineBinary>" << OFendl;
+ } else {
+ /* generate a new UID but the binary data is not (yet) written. */
+ OFUUID uuid;
+ out << "<BulkData uuid=\"";
+ uuid.print(out, OFUUID::ER_RepresentationHex);
+ out << "\"/>" << OFendl;
+ }
+ }
+ } else {
+ /* write element value (if loaded) */
+ if (valueLoaded())
+ {
+ Uint32 *uintVals = NULL;
+ /* get and check 32 bit data */
+ if (getUint32Array(uintVals).good() && (uintVals != NULL))
+ {
+ /* we cannot use getVM() since it always returns 1 */
+ const size_t count = getLengthField() / sizeof(Uint32);
+ /* print unsigned long values in hex mode */
+ out << (*(uintVals++));
+ for (unsigned long i = 1; i < count; i++)
+ out << "\\" << (*(uintVals++));
+ }
+ }
+ }
+ /* always write XML end tag */
+ writeXMLEndTag(out, flags);
+ /* always report success */
+ return EC_Normal;
+}
/*
*
- * Copyright (C) 1994-2014, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
errorFlag = getUint32Array(uintVals);
if (uintVals != NULL)
{
- const unsigned long count = getVM();
+ const unsigned long count = getLengthField() / OFstatic_cast(unsigned long, sizeof(Uint32)) /* do not use getVM()! */;
const unsigned long maxLength = (flags & DCMTypes::PF_shortenLongTagValues) ?
DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1) /*unlimited*/;
unsigned long printedLength = 0;
# declare executables
-DCMTK_ADD_EXECUTABLE(dcmdata_tests tests tpread ti2dbmp tchval tpath tvrdatim telemlen tparser tdict tvrds tvrfd tvrui tstrval tspchrs tvrpn tparent tfilter tvrcomp)
+DCMTK_ADD_EXECUTABLE(dcmdata_tests tests tpread ti2dbmp tchval tpath tvrdatim telemlen tparser tdict tvrds tvrfd tvrpn tvrui tvrol tstrval tspchrs tparent tfilter tvrcomp)
# make sure executables are linked to the corresponding libraries
DCMTK_TARGET_LINK_MODULES(dcmdata_tests i2d dcmdata oflog ofstd)
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/vrscan.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/vrscan.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h
tdict.o: tdict.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \
- ../include/dcmtk/dcmdata/dcostrmb.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcostrmb.h
tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h dctmacro.h \
- ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcostrmb.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ dctmacro.h ../include/dcmtk/dcmdata/dcistrmb.h \
+ ../include/dcmtk/dcmdata/dcostrmb.h
tparser.o: tparser.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \
- ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcostrmb.h \
- dctmacro.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcistrmb.h \
+ ../include/dcmtk/dcmdata/dcostrmb.h dctmacro.h
tpath.o: tpath.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpath.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcpath.h
tpread.o: tpread.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \
../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \
../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \
- ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcostrmz.h \
- ../include/dcmtk/dcmdata/dcistrmz.h ../include/dcmtk/dcmdata/dcfcache.h
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcistrmz.h \
+ ../include/dcmtk/dcmdata/dcfcache.h
tspchrs.o: tspchrs.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcvras.h ../include/dcmtk/dcmdata/dcbytstr.h \
../include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcvr.h \
../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \
../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h
+tvrol.o: tvrol.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/oftest.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \
+ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \
+ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \
+ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \
+ ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h \
+ ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrul.h \
+ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcdeftag.h
tvrpn.o: tvrpn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
I2DLIBS = -li2d
objs = tests.o tpread.o ti2dbmp.o tchval.o tpath.o tvrdatim.o telemlen.o tparser.o \
- tdict.o tvrds.o tvrfd.o tvrui.o tstrval.o tspchrs.o tvrpn.o tparent.o \
- tfilter.o tvrcomp.o
+ tdict.o tvrds.o tvrfd.o tvrui.o tvrol.o tstrval.o tspchrs.o tvrpn.o \
+ tparent.o tfilter.o tvrcomp.o
progs = tests
/*
*
- * Copyright (C) 2009-2015, OFFIS e.V.
+ * Copyright (C) 2009-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
CHECK_GOOD( "UI-10", DcmUniqueIdentifier::checkStringValue("1.2.3.4.5.6.7.8.9.0\\99", "2") )
CHECK_GOOD( "UI-11", DcmUniqueIdentifier::checkStringValue("1.2.3.4.5.6.7.8.9.0.123.456.789.0.111222333444555666777888999000", "1") )
CHECK_BAD ( "UI-12", DcmUniqueIdentifier::checkStringValue("1.2.3.4.5.6.7.8.9.0.123.456.789.10.111222333444555666777888999000", "1") )
+ CHECK_BAD ( "UI-13", DcmUniqueIdentifier::checkStringValue("007", "1") )
/* test "Universal Resource Identifier or Universal Resource Locator (URI/URL)" */
CHECK_GOOD( "UR-01", DcmUniversalResourceIdentifierOrLocator::checkStringValue("http://www.dcmtk.org/ ") )
/*
*
- * Copyright (C) 2011-2015, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
TEST_VR(EVR_OB)
TEST_VR(EVR_OD)
TEST_VR(EVR_OF)
+TEST_VR(EVR_OL)
TEST_VR(EVR_OW)
TEST_VR(EVR_SQ)
TEST_VR(EVR_UC)
/*
*
- * Copyright (C) 2011-2015 OFFIS e.V.
+ * Copyright (C) 2011-2016 OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFTEST_REGISTER(dcmdata_personName);
OFTEST_REGISTER(dcmdata_uniqueIdentifier_1);
OFTEST_REGISTER(dcmdata_uniqueIdentifier_2);
+OFTEST_REGISTER(dcmdata_otherLong);
OFTEST_REGISTER(dcmdata_VRCompare);
OFTEST_REGISTER(dcmdata_elementLength_EVR_AE);
OFTEST_REGISTER(dcmdata_elementLength_EVR_AS);
OFTEST_REGISTER(dcmdata_elementLength_EVR_OB);
OFTEST_REGISTER(dcmdata_elementLength_EVR_OD);
OFTEST_REGISTER(dcmdata_elementLength_EVR_OF);
+OFTEST_REGISTER(dcmdata_elementLength_EVR_OL);
OFTEST_REGISTER(dcmdata_elementLength_EVR_OW);
OFTEST_REGISTER(dcmdata_elementLength_EVR_OverlayData);
OFTEST_REGISTER(dcmdata_elementLength_EVR_PN);
/*
*
- * Copyright (C) 2014, OFFIS e.V.
+ * Copyright (C) 2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* Author: Michael Onken
*
- * Purpose: test program for compare() method of VR classes
+ * Purpose: tests for compare() as well as < and > operators of VR classes
*
*/
obj1.putOFStringArray("TEST");
obj2.putOFStringArray("TEST");
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putOFStringArray("TEST" /* same value*/);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second string longer
obj2.putOFStringArray("TEST_LONG");
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
obj1.putOFStringArray("TEST\\TEST");
obj2.putOFStringArray("TEST\\TEST\\TEST");
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
DcmAttributeTag objOtherTag(DCM_UndefinedTagKey);
// Check equality
- obj1.putTagVal(DcmTagKey(0010,0010));
- obj2.putTagVal(DcmTagKey(0010,0010));
+ obj1.putTagVal(DCM_PatientName);
+ obj2.putTagVal(DCM_PatientName);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
- objOtherTag.putTagVal(DcmTagKey(0010,0010));
+ objOtherTag.putTagVal(DCM_PatientName);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
- obj2.putTagVal(DcmTagKey(0010,0020));
+ obj2.putTagVal(DCM_PatientID);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
- obj1.putTagVal(DcmTagKey(0010,0010), 1); // VM = 2
- obj2.putTagVal(DcmTagKey(0010,0010), 0);
- obj2.putTagVal(DcmTagKey(0010,0010), 1);
- obj2.putTagVal(DcmTagKey(0010,0010), 2); // VM = 3
+ obj1.putTagVal(DCM_PatientName, 1); // VM = 2
+ obj2.putTagVal(DCM_PatientName, 0);
+ obj2.putTagVal(DCM_PatientName, 1);
+ obj2.putTagVal(DCM_PatientName, 2); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
obj1.putFloat64(10.0);
obj2.putFloat64(10.0);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj2) && (obj1 >= obj1) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putFloat64(10.0);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
obj2.putFloat64(100.50);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
obj1.putFloat64(10.0); // VM = 2
obj2.putFloat64(10.0, 2); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
obj1.putFloat32(10.0);
obj2.putFloat32(10.0);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putFloat32(10.0);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
obj2.putFloat32(100.50);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
obj1.putFloat32(10.0); // VM = 2
obj2.putFloat32(10.0, 2); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
template <typename BinaryOBOWType>
obj1.putUint8Array(testData, 1);
obj2.putUint8Array(testData, 1);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putUint8Array(testData, 1);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
Uint8 biggerTestData[1] = {101};
obj2.putUint8Array(biggerTestData, 1);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
Uint8 largeVMTestData[2] = {100, 101};
obj2.putUint8Array(evenLargerVMTestData, 3); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
obj1.putSint32(-10);
obj2.putSint32(-10);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putSint32(-10);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
obj2.putSint32(-5);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
+
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
obj1.putSint32(-10); // VM = 2
obj2.putSint32(-10, 2); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
obj1.putSint16(-10);
obj2.putSint16(-10);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putSint16(-10);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
obj2.putSint16(-5);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
obj1.putSint16(-10); // VM = 2
obj2.putSint16(-10, 2); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
obj1.putUint32(10);
obj2.putUint32(10);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putUint32(10);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
obj2.putUint32(10000);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
obj1.putUint32(10); // VM = 2
obj2.putUint32(10, 2); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
obj1.putUint16(10);
obj2.putUint16(10);
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj2) && (obj1 >= obj2) );
// Check differing tags (DCM_UndefinedTagKey always smaller than any other key)
objOtherTag.putUint16(10);
OFCHECK(obj1.compare(objOtherTag) < 0);
+ OFCHECK(obj1 < objOtherTag);
+ OFCHECK(obj1 <= objOtherTag);
// Reverse test should yield opposite result
OFCHECK(objOtherTag.compare(obj1) > 0);
+ OFCHECK(objOtherTag > obj1);
+ OFCHECK(objOtherTag >= obj1);
// Check second attribute larger
obj2.putUint16(10000);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM
obj1.putUint16(10); // VM = 2
obj2.putUint16(10, 2); // VM = 3
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
}
DcmItem obj1;
DcmItem obj2;
- obj1.putAndInsertUint16(DcmTagKey(0x0028,0x0010) /* Rows */, 10);
- obj1.putAndInsertUint16(DcmTagKey(0x0028,0x0020) /* Columns */, 10);
- obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0010) /* Rows */, 10);
- obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0020) /* Columns */, 10);
+ obj1.putAndInsertUint16(DCM_Rows, 10);
+ obj1.putAndInsertUint16(DCM_Columns, 10);
+ obj2.putAndInsertUint16(DCM_Rows, 10);
+ obj2.putAndInsertUint16(DCM_Columns, 10);
// Check equality
OFCHECK_EQUAL(obj1.compare(obj2), 0);
+ OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) );
// Reverse test should yield same result
OFCHECK_EQUAL(obj2.compare(obj1), 0);
+ OFCHECK( (obj2 >= obj2) && (obj1 >= obj1) );
- // Check values in second item larger
- obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0010) /* Rows */, 100);
- obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0020) /* Columns */, 100);
+ // Check values in second item larger. Make sure that the first value remains equal.
+ obj2.putAndInsertUint16(DCM_Columns, 100);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2);
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1);
+ OFCHECK(obj2 >= obj1);
// Test different VM (i.e. item cardinality):
// obj1 has VM = 2
// Make obj2 VM = 3 by adding another tag
- obj2.insertEmptyElement(DcmTagKey(0x7fe0,0x0010) /* Pixel Data */);
+ obj2.insertEmptyElement(DCM_PixelData);
OFCHECK(obj1.compare(obj2) < 0);
+ OFCHECK(obj1 < obj2);
+ OFCHECK(obj1 <= obj2 );
// Reverse test should yield opposite result
OFCHECK(obj2.compare(obj1) > 0);
+ OFCHECK(obj2 > obj1 );
+ OFCHECK(obj2 >= obj1 );
// Check sequences
// Check equality
OFCHECK_EQUAL(seq1.compare(seq2), 0);
+ OFCHECK( (seq1 <= seq2) && (seq2 <= seq1) );
// Reverse test should yield same result
OFCHECK_EQUAL(seq2.compare(seq1), 0);
+ OFCHECK( (seq2 >= seq1) && (seq1 >= seq2) );
// Test different VM (i.e. sequence cardinality):
// seq1 has VM = 2
seq2.insertAtCurrentPos(new DcmItem());;
OFCHECK(seq1.compare(seq2) < 0);
+ OFCHECK(seq1 < seq2);
+ OFCHECK(seq1 <= seq2);
// Reverse test should yield opposite result
OFCHECK(seq2.compare(seq1) > 0);
+ OFCHECK(seq2 > seq1);
+ OFCHECK(seq2 >= seq1);
}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmdata
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose: test program for class DcmOtherLong
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/dcmdata/dcdatset.h"
+#include "dcmtk/dcmdata/dcvrol.h"
+#include "dcmtk/dcmdata/dcdeftag.h"
+
+
+OFTEST(dcmdata_otherLong)
+{
+ DcmOtherLong otherLong(DCM_TrackPointIndexList);
+ /* append new values */
+ OFCHECK(otherLong.putUint32(1, 0).good());
+ OFCHECK(otherLong.putUint32(22, 1).good());
+ OFCHECK(otherLong.putUint32(333, 2).good());
+ OFCHECK(otherLong.putUint32(4444, 3).good());
+ OFCHECK(otherLong.putUint32(55555, 4).good());
+ OFCHECK(otherLong.putUint32(666666, 5).good());
+ OFCHECK(otherLong.putUint32(7777777, 6).good());
+ OFCHECK(otherLong.putUint32(88888888, 7).good());
+ OFCHECK(otherLong.putUint32(999999999, 8).good());
+ /* value multiplicity should always be 1 */
+ OFCHECK_EQUAL(otherLong.getVM(), 1);
+ /* get value as an array and check number of entries */
+ Uint32 *uintVals = NULL;
+ OFCHECK(otherLong.getUint32Array(uintVals).good());
+ OFCHECK(uintVals != NULL);
+ OFCHECK_EQUAL(otherLong.getLengthField() / sizeof(Uint32), 9);
+}
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/** Set Derivation Description
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR (ST) and VM (1) if
- * enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setDerivationDescription(const OFString &value,
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/** Set Frame Acquisition Number
* @param value Value that should be set
- * @param checkValue If OFTrue, basic checks are performed whether the value is
- * valid for this attribute
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal, if value was set, error otherwise
*/
virtual OFCondition setFrameAcquisitionNumber(const Uint16& value,
* @param value Value that should be set (lowest index starts with 1)
* @param pos The position of the value that should be set (lowest index
* starts with 0), i.e.\ select the 1st, 2nd, ..nth dimension
- * @param checkValue If OFTrue, basic checks are performed whether the
- * valid for this attribute
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal, if value was set, error otherwise
*/
virtual OFCondition setDimensionIndexValues(const Uint32& value,
/** Set Temporal Position Index
* @param value Value that should be set
- * @param checkValue If OFTrue, basic checks are performed whether the value is
- * valid for this attribute
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal, if value was set, error otherwise
*/
virtual OFCondition setTemporalPositionIndex(const Uint32& value,
/** Set In-Stack Position Number
* @param value Value that should be set
- * @param checkValue If OFTrue, basic checks are performed whether the value is
- * valid for this attribute
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal, if value was set, error otherwise
*/
virtual OFCondition setInStackPositionNumber(const Uint32& value,
/** Set Frame Comments
* @param value Value that should be set
- * @param checkValue If OFTrue, basic checks are performed whether the value is
- * valid for this attribute
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal, if value was set, error otherwise
*/
virtual OFCondition setFrameComments(const OFString& value,
/** Set Window Width
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR (DS) and VM (1)
- * if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setWindowWidth(const OFString& value,
/** Set Pixel Spacing
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR (DS) and VM (1) if
+ * @param checkValue Check 'value' for conformance with VR (DS) and VM (2) if
* enabled
* @return EC_Normal if successful, an error code otherwise
*/
* hand corner (center of the first voxel transmitted) of the frame, in mm.
* @param value X,Y or Z coordinate of upper left hand corner voxel in mm
* @param pos pos 0 is x, pos 1 is Y, pos 2 addresses Z coordinate
- * @param checkValue Check coordinates for validity, including VR (FD)
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setImagePositionVolume(const Float64& value,
* @param valueX X coordinate of upper left hand corner voxel in mm
* @param valueY coordinate of upper left hand corner voxel in mm
* @param valueZ coordinate of upper left hand corner voxel in mm
- * @param checkValue Check coordinates for validity, including VR (FD)
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setImagePositionVolume(const Float64& valueX,
* @param value Value to be set. If Pixel Representation is -1 (signed
* pixel data) value must be -2^15 < value < 2^15-1. Otherwise use
* setRealWorldValueFirstValueMappedUnSigned().
- * @param checkValue Check 'value' for conformance with VR (SS) and VM (1)
- * if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setRealWorldValueFirstValueMappeSigned(const Sint16 &value,
* @param value Value to be set. If Pixel Representation is -1 (signed
* pixel data) value must be -2^15 < value < 2^15-1. Otherwise use
* setRealWorldValueLastValueMappedUnSigned().
- * @param checkValue Check 'value' for conformance with VR (SS) and VM (1)
- * if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setRealWorldValueLastValueMappedSigned(const Sint16 &value,
/** Set Real World Value Intercept
* @param value Value to be set
- * @param checkValue Check 'value' for conformance with VR (FD) and VM (1) if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setRealWorldValueIntercept(const Float64& value,
/** Set Real World Value Slope
* @param value Value to be set
- * @param checkValue Check 'value' for conformance with VR (FD) and VM (1) if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setRealWorldValueSlope(const Float64& value,
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgbase.h
fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h \
../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgderimg.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \
../include/dcmtk/dcmfg/fgdefine.h
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h
fgimagedatatype.o: fgimagedatatype.cc \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h
fginterface.o: fginterface.cc \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \
../include/dcmtk/dcmfg/fg.h ../include/dcmtk/dcmfg/fgbase.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h \
../../dcmiod/include/dcmtk/dcmiod/iodutil.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgfact.h \
../../dcmiod/include/dcmtk/dcmiod/iodutil.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h
fgplanpo.o: fgplanpo.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgfact.h \
../../dcmiod/include/dcmtk/dcmiod/iodutil.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h
fgrealworldvaluemapping.o: fgrealworldvaluemapping.cc \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h \
../../dcmiod/include/dcmtk/dcmiod/iodutil.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgbase.h \
../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgbase.h
stack.o: stack.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmfg/fginterface.h ../include/dcmtk/dcmfg/fgtypes.h \
../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fg.h \
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFCondition DerivationImageItem::setDerivationDescription(const OFString& value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmShortText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_DerivationDescription.putOFStringArray(value);
- return result;
-
+ (void)checkValue;
+ return m_DerivationDescription.putOFStringArray(value);
}
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFCondition FGFrameContent::setFrameAcquisitionNumber(const Uint16& value,
const OFBool checkValue)
{
+ (void)checkValue;
m_FrameAcquisitonNumber.putUint16(value);
return EC_Normal;
}
OFCondition FGFrameContent::setFrameAcquisitionDuration(const Float64& value,
const OFBool checkValue)
{
+ (void)checkValue;
// basic checking always included
return m_FrameAcquisitionDuration.putFloat64(value);
}
const unsigned int pos,
const OFBool checkValue)
{
- // no meaningful check possible in this context
+ // no other meaningful checks possible in this context
+ (void)checkValue;
if (value == 0)
{
DCMFG_ERROR("Cannot set dimension index value 0, must be >= 1)");
const OFBool checkValue)
{
// no meaningful check possible in this context
+ (void)checkValue;
return m_TemporalPositionIndex.putUint32(value);
}
const OFBool checkValue)
{
// no meaningful check possible in this context
+ (void)checkValue;
return m_InStackPositionNumber.putUint32(value);
}
OFCondition FGFrameContent::setFrameComments(const OFString& value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmLongText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_FrameComments.putOFStringArray(value);
- return result;
+ (void)checkValue;
+ return m_FrameComments.putOFStringArray(value);
}
+
OFCondition FGFrameContent::setFrameLabel(const OFString& value,
const OFBool checkValue)
{
const OFBool checkValue)
{
// no checks at the moment
+ (void)checkValue;
return m_WindowCenter.putOFStringArray(value);
}
const OFBool checkValue)
{
// no checks at the moment
+ (void)checkValue;
return m_WindowWidth.putOFStringArray(value);
}
if (!m_ZeroVelocityPixelValueSS.isEmpty())
{
Sint16 val = 0;
- if ( (result = m_ZeroVelocityPixelValueSS.getSint16(val)).good())
+ if ( (result = m_ZeroVelocityPixelValueSS.getSint16(val, pos)).good())
{
value = val;
}
else if (!m_ZeroVelocityPixelValueUS.isEmpty())
{
Uint16 val = 0;
- if ( (result = m_ZeroVelocityPixelValueUS.getUint16(val)).good())
+ if ( (result = m_ZeroVelocityPixelValueUS.getUint16(val, pos)).good())
{
value = val;
}
}
if (!foundFrameContent)
{
- DCMFG_ERROR("Frame Content FGfunctioanl group missing for frame # " << frameCount );
+ DCMFG_ERROR("Frame Content Functional group missing for frame # " << frameCount );
numErrors++;
}
}
OFCondition FGPixelMeasures::setPixelSpacing(const OFString& value,
const OFBool checkValue)
{
- return m_PixelSpacing.putOFStringArray(value);
+ OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "2") : EC_Normal;
+ if (result.good())
+ {
+ result = m_PixelSpacing.putOFStringArray(value);
+ }
+ return result;
}
OFCondition FGPixelMeasures::setSliceThickness(const OFString& value,
const OFBool checkValue)
{
- return m_SliceThickness.putOFStringArray(value);
+ OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ {
+ result = m_SliceThickness.putOFStringArray(value);
+ }
+ return result;
}
OFCondition FGPixelMeasures::setSpacingBetweenSlices(const OFString& value,
const OFBool checkValue)
{
- return m_SpacingBetweenSlices.putOFStringArray(value);}
+ OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ {
+ result = m_SpacingBetweenSlices.putOFStringArray(value);
+ }
+ return result;
+}
const Float64& valueZ,
const OFBool checkValue)
{
+ (void)checkValue;
OFCondition result = m_ImagePositionVolume.putFloat64(valueX, 0);
if (result.good()) result = m_ImagePositionVolume.putFloat64(valueY, 1);
if (result.good()) result = m_ImagePositionVolume.putFloat64(valueZ, 2);
const long unsigned int pos,
const OFBool checkValue)
{
+ // no checks
+ (void)checkValue;
if (pos > 2)
return EC_ValueMultiplicityViolated;
OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMappedUnsigned(const Uint16& value,
const OFBool checkValue)
{
+ (void)checkValue;
DcmUnsignedShort* us = new DcmUnsignedShort(DCM_RealWorldValueFirstValueMapped);
OFCondition result = us->putUint16(value);
if (result.good()) result = m_Item->insert(us, OFTrue /* replace old */);
OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMappeSigned(const Sint16& value,
const OFBool checkValue)
{
+ (void)checkValue;
DcmSignedShort* ss = new DcmSignedShort(DCM_RealWorldValueFirstValueMapped);
OFCondition result = ss->putSint16(value);
if (result.good()) result = m_Item->insert(ss, OFTrue /* replace old */);
OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLastValueMappedSigned(const Sint16& value,
const OFBool checkValue)
{
+ (void)checkValue;
DcmSignedShort* ss = new DcmSignedShort(DCM_RealWorldValueLastValueMapped);
OFCondition result = ss->putSint16(value);
if (result.good()) result = m_Item->insert(ss, OFTrue /* replace old */);
OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLastValueMappedUnsigned(const Uint16& value,
const OFBool checkValue)
{
+ (void)checkValue;
DcmUnsignedShort* us = new DcmUnsignedShort(DCM_RealWorldValueLastValueMapped);
OFCondition result = us->putUint16(value);
if (result.good()) result = m_Item->insert(us, OFTrue /* replace old */);
OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueIntercept(const Float64& value,
const OFBool checkValue)
{
+ (void)checkValue;
return m_Item->putAndInsertFloat64(DCM_RealWorldValueIntercept, value);
}
OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueSlope(const Float64& value,
const OFBool checkValue)
{
+ (void)checkValue;
return m_Item->putAndInsertFloat64(DCM_RealWorldValueSlope, value);
}
OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLUTData(const OFVector< Float64 >& value,
const OFBool checkValue)
{
+ (void)checkValue;
DcmElement *elem = NULL;
OFCondition result = m_Item->findAndGetElement(DCM_RealWorldValueLUTData, elem);
if (result.good())
value += "\\";
value += derivedPixelContrast;
- return m_FrameType.putOFStringArray(value);
+ OFCondition result;
+ if (checkValue)
+ {
+ result = DcmCodeString::checkStringValue(value, "4");
+ }
+ if (result.good())
+ {
+ result = m_FrameType.putOFStringArray(value);
+ }
+ return result;
}
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \
../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \
../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \
../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/dicmyimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimage/dicdefin.h \
../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/dihsvimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimage/dicdefin.h
dipalimg.o: dipalimg.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimage/diqthash.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diqttype.h \
../include/dcmtk/dcmimage/dicdefin.h ../include/dcmtk/dcmimage/diqtid.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimage/dicdefin.h \
../include/dcmtk/dcmimage/dipalimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/dirgbimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diybrimg.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diyf2img.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimage/diyp2img.h ../include/dcmtk/dcmimage/dicoimg.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmimgle/digsdfn.h ../include/dcmtk/dcmimgle/didispfn.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diciefn.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
/*
*
- * Copyright (C) 1996-2011, OFFIS e.V.
+ * Copyright (C) 1996-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
inline Uint32 getAbsMaxRange() const
{
- return DicomImageClass::maxval(Bits, 0);
+ return OFstatic_cast(Uint32, DicomImageClass::maxval(Bits, 0));
}
/** check whether LUT is valid
/*
*
- * Copyright (C) 1996-2011, OFFIS e.V.
+ * Copyright (C) 1996-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
int result = 0;
if (Valid && (Data != NULL))
{
- const Uint32 frameNumber = FirstFrame + frame;
+ const Uint32 frameNumber = OFstatic_cast(Uint32, FirstFrame + frame);
DCMIMGLE_TRACE("reset overlay plane in group 0x" << STD_NAMESPACE hex << GroupNumber << " to start position");
DCMIMGLE_TRACE(" frameNumber: " << frameNumber << " (" << FirstFrame << "+" << frame
<< "), ImageFrameOrigin: " << ImageFrameOrigin << ", NumberOfFrames: " << NumberOfFrames);
/*
*
- * Copyright (C) 1996-2010, OFFIS e.V.
+ * Copyright (C) 1996-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmimgle/diutils.h"
+#ifndef DCMTK_EXPLICIT_SPECIALIZATION
#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
+#define DCMTK_EXPLICIT_SPECIALIZATION template<>
#else
-#define EXPLICIT_SPECIALIZATION
+#define DCMTK_EXPLICIT_SPECIALIZATION
+#endif
#endif
/********************************************************************/
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline EP_Representation DiPixelRepresentationTemplate<Uint8>::getRepresentation() const
{
return EPR_Uint8;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline EP_Representation DiPixelRepresentationTemplate<Sint8>::getRepresentation() const
{
return EPR_Sint8;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline EP_Representation DiPixelRepresentationTemplate<Uint16>::getRepresentation() const
{
return EPR_Uint16;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline EP_Representation DiPixelRepresentationTemplate<Sint16>::getRepresentation() const
{
return EPR_Sint16;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline EP_Representation DiPixelRepresentationTemplate<Uint32>::getRepresentation() const
{
return EPR_Uint32;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline EP_Representation DiPixelRepresentationTemplate<Sint32>::getRepresentation() const
{
return EPR_Sint32;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline int DiPixelRepresentationTemplate<Uint8>::isSigned() const
{
return 0;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline int DiPixelRepresentationTemplate<Uint16>::isSigned() const
{
return 0;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline int DiPixelRepresentationTemplate<Uint32>::isSigned() const
{
return 0;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline int DiPixelRepresentationTemplate<Sint8>::isSigned() const
{
return 1;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline int DiPixelRepresentationTemplate<Sint16>::isSigned() const
{
return 1;
}
-EXPLICIT_SPECIALIZATION
+DCMTK_EXPLICIT_SPECIALIZATION
inline int DiPixelRepresentationTemplate<Sint32>::isSigned() const
{
return 1;
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h
diciefn.o: diciefn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/diciefn.h ../include/dcmtk/dcmimgle/didispfn.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
dicielut.o: dicielut.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/dicielut.h \
../include/dcmtk/dcmimgle/didislut.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h
didislut.o: didislut.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/didislut.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h
didispfn.o: didispfn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
didocu.o: didocu.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmimgle/didocu.h ../include/dcmtk/dcmimgle/diobjcou.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diutils.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
digsdlut.o: digsdlut.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmimgle/digsdlut.h \
../include/dcmtk/dcmimgle/didislut.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimgle/displint.h
diimage.o: diimage.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h
diluptab.o: diluptab.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/dimo1img.h ../include/dcmtk/dcmimgle/dimoimg.h \
../include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/dimo2img.h ../include/dcmtk/dcmimgle/dimoimg.h \
../include/dcmtk/dcmimgle/diimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmimgle/diobjcou.h ../include/dcmtk/dcmimgle/didocu.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/dimopx.h \
../include/dcmtk/dcmimgle/dipixel.h ../include/dcmtk/dcmimgle/dimomod.h \
../include/dcmtk/dcmimgle/diluptab.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/dimomod.h \
../include/dcmtk/dcmimgle/diluptab.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diovlay.h ../include/dcmtk/dcmimgle/diobjcou.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diovdat.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diovlay.h ../include/dcmtk/dcmimgle/diobjcou.h \
../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diovdat.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diovlimg.h \
../include/dcmtk/dcmimgle/dimo2img.h ../include/dcmtk/dcmimgle/dimoimg.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmimgle/diutils.h ../include/dcmtk/dcmimgle/didefine.h
/*
*
- * Copyright (C) 1996-2014, OFFIS e.V.
+ * Copyright (C) 1996-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/* start from first processed frame (might still exceed number of loaded frames) */
RepresentativeFrame -= FirstFrame;
int ok = (Document->getValue(DCM_Rows, Rows) > 0);
- ok &= (Document->getValue(DCM_Columns, Columns) > 0);
+ if (!ok)
+ DCMIMGLE_ERROR("mandatory attribute 'Rows' is missing");
+ if (Document->getValue(DCM_Columns, Columns) == 0)
+ {
+ ok = 0;
+ DCMIMGLE_ERROR("mandatory attribute 'Columns' is missing");
+ }
+ /* check whether to proceed */
if (!ok || ((Rows > 0) && (Columns > 0)))
{
ok &= (Document->getValue(DCM_BitsAllocated, BitsAllocated) > 0);
INCLUDE_DIRECTORIES(${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
# recurse into subdirectories
-FOREACH(SUBDIR libsrc include)
+FOREACH(SUBDIR libsrc include tests)
ADD_SUBDIRECTORY(${SUBDIR})
ENDFOREACH(SUBDIR)
dependencies:
(cd libsrc && touch $(DEP) && $(MAKE) dependencies)
-# (cd tests && touch $(DEP) && $(MAKE) dependencies)
+ (cd tests && touch $(DEP) && $(MAKE) dependencies)
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, Pascal Getreuer, Open Connections GmbH
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmiod
+ *
+ * Author: Pascal Getreuer, Michael Onken
+ *
+ * Purpose: Static helper functionality for CIE<->RGB color conversions
+ *
+ */
+
+#ifndef CIELABUTIL_H
+#define CIELABUTIL_H
+
+#include "dcmtk/config/osconfig.h"
+#define INCLUDE_CMATH // for pow() function
+#include "dcmtk/ofstd/ofstdinc.h"
+#include "dcmtk/dcmiod/ioddef.h"
+
+
+/** Class supporting color space conversions from and to CIELab. In some IODs
+ * DICOM stores CIELab color values which must often be converted to RGB for
+ * display or other purposes. This is supported by the functions dicomLab2RGB()
+ * and rgb2DicomLab(). The CIELab value range in DICOM is [0,65535] for all
+ * three values. The RGB value range in this class is [0;1]. Further functions
+ * are available in order to convert between RGB, "normal" CIELab value range
+ * as well as CIEXYZ. The class uses double floating point precision for
+ * calculations.
+ */
+class DCMTK_DCMIOD_EXPORT IODCIELabUtil
+{
+public:
+
+ /// D65 standard lightpoint X component for conversion from CIEXYZ to CIELab
+ static const double D65_WHITEPOINT_X;
+ /// D65 standard lightpoint Y component for conversion from CIEXYZ to CIELab
+ static const double D65_WHITEPOINT_Y;
+ /// D65 standard lightpoint Z component for conversion from CIEXYZ to CIELab
+ static const double D65_WHITEPOINT_Z;
+
+ /** Convert CIELab color representation as found in DICOM to sRGB value
+ * representation. See DICOM part 3 for details.
+ * @param R Output sRGB "R" component (red) with 0 <= R <= 1
+ * @param G Output sRGB "G" component (green) with 0 <= G <= 1
+ * @param B Output sRGB "R" component (blue) with 0 <= B <= 1
+ * @param LDicom Input DICOM CIELab luminance component with 0 <= L <= 65535
+ * @param aDicom Input DICOM CIELab "a" component (red<->green) with 0 <= a <= 65535
+ * @param bDicom Input DIOCM CIELab "b" component (blue<->yellow) with 0 <= a <= 65535
+ */
+ static void dicomLab2RGB(double& R, double& G, double& B, double LDicom, double aDicom, double bDicom);
+
+ /** Convert sRGB color representation to CIELab color representation as found
+ * in DICOM. See DICOM part 3 for details.
+ * @param LDicom Output CIELab luminance component with 0 <= L <= 65535 as found
+ * in DICOM
+ * @param aDicom Output CIELab "a" component (red<->green) with 0 <= a <= 65535
+ * as found in DICOM
+ * @param bDicom Output CIELab "b" component (blue<->yellow) with 0 <= b <= 65535
+ * as found in DICOM
+ * @param R Input sRGB "R" component (red) with 0 <= R <= 1
+ * @param G Input sRGB "G" component (green) with 0 <= G <= 1
+ * @param B Input sRGB "R" component (blue) with 0 <= B <= 1
+ *
+ */
+ static void rgb2DicomLab(double& LDicom, double& aDicom, double& bDicom, double R, double G, double B);
+
+ /** Convert CIELab color representation as found in DICOM to CIELab
+ * representation. See DICOM part 3 for details.
+ * @param L Output CIELab luminance component with 0 <= L <= 100
+ * @param a Output CIELab "a" component (red<->green) with -127 <= a <= 128
+ * @param b Output CIELab "b" component (blue<->yellow) with -127 <= b <= 128
+ * @param LDicom Input CIELab luminance component with 0 <= L <= 65535 as found
+ * in DICOM
+ * @param aDicom Input CIELab "a" component (red<->green) with 0 <= a <= 65535
+ * as found in DICOM
+ * @param bDicom Input CIELab "b" component (blue<->yellow) with 0 <= b <= 65535
+ * as found in DICOM
+ */
+ static void dicomlab2Lab(double& L, double& a, double& b, double LDicom, double aDicom, double bDicom);
+
+ /** Convert CIELab color representation to CIELab color representation found
+ * in DICOM. See DICOM part 3 for details.
+ * @param LDicom Output CIELab luminance component with 0 <= L <= 65535 as found
+ * in DICOM
+ * @param aDicom Output CIELab "a" component (red<->green) with 0 <= a <= 65535
+ * as found in DICOM
+ * @param bDicom Output CIELab "b" component (blue<->yellow) with 0 <= b <= 65535
+ * as found in DICOM
+ * @param L Input CIELab luminance component with 0 <= L <= 100
+ * @param a Input CIELab "a" component (red<->green) with -127 <= a <= 128
+ * @param b Input CIELab "b" component (blue<->yellow) with -127 <= b <= 128
+ *
+ */
+ static void lab2DicomLab(double& LDicom, double& aDicom, double& bDicom, double L, double a, double b);
+
+ /** Convert sRGB color representation to CIELab representation
+ * @param L Output CIELab luminance component with 0 <= L <= 100
+ * @param a Output CIELab "a" component (red<->green) with -127 <= a <= 128
+ * @param b Output CIELab "b" component (blue<->yellow) with -127 <= b <= 128
+ * @param R Input sRGB "R" component (red) with 0 <= R <= 1
+ * @param G Input sRGB "G" component (green) with 0 <= G <= 1
+ * @param B Input sRGB "R" component (blue) with 0 <= B <= 1
+ */
+ static void rgb2Lab(double& L, double& a, double& b, double R, double G, double B);
+
+ /** Convert sRGB color representation to CIE XYZ representation
+ * @param X Output CIELab XYZ "X" component with 0 <= X <= 1
+ * @param Y Output CIELab XYZ "Y" component with 0 <= Y <= 1
+ * @param Z Output CIELab XYZ "Z" component with 0 <= Z <= 1
+ * @param R Input sRGB "R" component (red) with 0 <= R <= 1
+ * @param G Input sRGB "G" component (green) with 0 <= G <= 1
+ * @param B Input sRGB "R" component (blue) with 0 <= B <= 1
+ */
+ static void rgb2Xyz(double& X, double& Y, double& Z, double R, double G, double B);
+
+
+ /** Convert CIELAB XYZ color representation to CIELab representation
+ * @param L Output CIELab luminance component with 0 <= L <= 100
+ * @param a Output CIELab "a" component (red<->green) with -127 <= a <= 128
+ * @param b Output CIELab "b" component (blue<->yellow) with -127 <= b <= 128
+ * @param X Input CIELab XYZ "X" component with 0 <= X <= 1
+ * @param Y Input CIELab XYZ "Y" component with 0 <= Y <= 1
+ * @param Z Input CIELab XYZ "Z" component with 0 <= Z <= 1
+ */
+ static void xyz2Lab(double& L, double& a, double& b, double X, double Y, double Z);
+
+ /** Convert CIELab color representation to sRGB representation
+ * @param R Output sRGB "R" component (red) with 0 <= R <= 1
+ * @param G Output sRGB "G" component (green) with 0 <= G <= 1
+ * @param B Output sRGB "R" component (blue) with 0 <= B <= 1
+ * @param L Input CIELab luminance component with 0 <= L <= 100
+ * @param a Input CIELab "a" component (red<->green) with -127 <= a <= 128
+ * @param b Input CIELab "b" component (blue<->yellow) with -127 <= b <= 128
+ */
+ static void lab2Rgb(double& R, double& G, double& B, double L, double a, double b);
+
+ /** Convert CIELab color representation to CIE XYZ representation
+ * @param X Output CIELab XYZ "X" component with 0 <= X <= 1
+ * @param Y Output CIELab XYZ "Y" component with 0 <= Y <= 1
+ * @param Z Output CIELab XYZ "Z" component with 0 <= Z <= 1
+ * @param L Input CIELab luminance component with 0 <= L <= 100
+ * @param a Input CIELab "a" component (red<->green) with -127 <= a <= 128
+ * @param b Input CIELab "b" component (blue<->yellow) with -127 <= b <= 128
+ */
+ static void lab2Xyz(double& X, double& Y, double& Z, double L, double a, double b);
+
+ /** Convert CIE XYZ color representation to sRGB representation
+ * @param R Output sRGB "R" component (red) with 0 <= R <= 1
+ * @param G Output sRGB "G" component (green) with 0 <= G <= 1
+ * @param B Output sRGB "R" component (blue) with 0 <= B <= 1
+ * @param X Output CIELab XYZ "X" component with 0 <= X <= 1
+ * @param Y Output CIELab XYZ "Y" component with 0 <= Y <= 1
+ * @param Z Output CIELab XYZ "Z" component with 0 <= Z <= 1
+ */
+ static void xyz2Rgb(double& R, double& G, double& B, double X, double Y, double Z);
+
+protected:
+
+ /** Perform sRGB gamma correction, transforms R to R'
+ * @param n The value to correct
+ * @return The gamma-corrected value
+ */
+ static double gammaCorrection(double n);
+
+ /** Peform inverse sRGB gamma correction, transforms R' to R
+ * @param n The value to invert
+ * @return The gamma-inverted value
+ */
+ static double invGammaCorrection(double n);
+
+ /** CIE L*a*b* f function (used to convert XYZ to L*a*b*)
+ * @param n value to convert
+ * @return The converted value
+ */
+ static double labf(double n);
+
+ /** CIE L*a*b* inverse f function
+ * @param n The value to compute the inverse for
+ * @return The resulting inverse
+ */
+ static double labfInv(double n);
+
+ /** Get the minimun of two numbers
+ * @param a First number
+ * @param b Second number
+ * @return The minimum of a, b. a if a and b are equal.
+ */
+ static double min(double a, double b);
+
+ /** Get the minimun of three numbers
+ * @param a First number
+ * @param b Second number
+ * @param c Third number
+ * @return The minimum of a, b and c. If a value occurs more than once,
+ * then preference order then a is preferred if possible, b
+ * otherwise
+ */
+ static double min3(double a, double b, double c);
+
+};
+
+#endif // CIELABUTIL_H
/** Set Algorithm Parameters
* @param value The value to be set
- * @param checkValue If OFTrue, the given value is checked
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal, if value could be set, error otherwise
*/
virtual OFCondition setAlgorithmParameters(const OFString& value,
/** Set Local Namespace Entity ID
* @param value Value to be set
- * @param checkValue If OFTrue, value is checkd for validity
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if setting was successful, error otherwise
*/
virtual OFCondition setLocalNamespaceEntityID(const OFString& value,
/** Set Universal Entity ID
* @param value Value to be set
- * @param checkValue If OFTrue, value is checkd for validity
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if setting was successful, error otherwise
*/
virtual OFCondition setUniversalEntityID(const OFString& value,
/** Set Universal Entity ID Type
* @param value Value to be set
- * @param checkValue If OFTrue, value is checkd for validity
+ * @param checkValue If OFTrue, value is checked for validity
* @return EC_Normal if setting was successful, error otherwise
*/
virtual OFCondition setUniversalEntityIDType(const OFString& value,
checkElementValue(source, seqKey, cardinality, type, exists, module.c_str());
if (source)
{
- const size_t card = source->card();
- for (size_t count = 0; count < card; count++)
+ const unsigned long card = source->card();
+ for (unsigned long count = 0; count < card; count++)
{
DcmItem *item = source->getItem(count);
if (item != NULL)
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setLossyImageCompressionMethod(const OFString& value,
- const unsigned long pos,
const OFBool checkValue = OFTrue);
/** Set Recognizable Visual Features
/** Set Depth(s) of Focus
* @param value Value to be set
* @param pos Index of the value to set (0..vm-1)
- * @param checkValue Check 'value' for conformance if enabled, including VR (FD)
+ * @param checkValue Check 'value'. Not evaluated (here for consistency with
+ * other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setDepthsOfFocus(const Float64 value,
/** Set Depth(s) of Focus (convenience function)
* @param values Value(s) to be set
- * @param checkValue Check 'value' for conformance if enabled, including VR (FD)
+ * @param checkValue Check 'value'. Not evaluated (here for consistency with
+ * other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setDepthsOfFocus(const OFVector<Float64>& values,
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/** Set Institution Address
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR (ST) and VM (1)
- * if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setInstitutionAddress(const OFString &value,
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmiod/modbase.h"
#include "dcmtk/dcmiod/ioddef.h"
+#include "dcmtk/dcmiod/iodmacro.h"
/** Class representing the General Series Module:
*
*/
virtual void ensureInstanceUID(const OFBool correctInvalid = OFFalse);
+ /** Read attributes from given item into this class
+ * @param source The source to read from
+ * @param clearOldData If OFTrue, old data is cleared before reading. Otherwise
+ * old data is overwritten (or amended)
+ * @result EC_Normal if reading was successful, error otherwise
+ */
+ virtual OFCondition read(DcmItem& source,
+ const OFBool clearOldData = OFTrue);
+
+ /** Write attributes from this class into given item
+ * @param destination The item to write to
+ * @result EC_Normal if writing was successful, error otherwise
+ */
+ virtual OFCondition write(DcmItem& destination);
+
/** Get Modality
* @param value Reference to variable in which the value should be stored
* @param pos Index of the value to get (0..vm-1), -1 for all components
*/
virtual OFCondition getPatientPosition(OFString &value,
const signed long pos = 0) const;
+
+ /** Get reference to Referenced Performed Procedure Step
+ * @return Reference to PPS
+ */
+ virtual SOPInstanceReferenceMacro& getReferencedPPS();
+
/** Set Modality
* @param value Value to be set (single value only) or "" for no value
* @param checkValue Check 'value' for conformance with VR (CS) and VM (1)
/** Set Laterality
* @param value Value to be set
- * @param checkValue Check value (no effect in this call but included for
- * consistency with other methods); provided value is
- * always checked.
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setLaterality(const DcmIODTypes::IOD_LATERALITY value,
/// The name of this module ("GeneralSeriesModule")
static const OFString m_ModuleName;
+ /// Referenced Performed Procedure Step Sequence
+ SOPInstanceReferenceMacro m_ReferencedPPS;
+
};
#endif // MODGENERALSERIES_H
/** Set Rows
* @param value Reference to variable in which the value should be stored
- * @param checkValue Check 'value' for conformance with VR (US) and consistency
- * with other attributes if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setRows(const Uint16 value,
/** Set Columns
* @param value Reference to variable in which the value should be stored
- * @param checkValue Check 'value' for conformance with VR (US) and consistency
- * with other attributes if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setColumns(const Uint16 value,
const OFBool checkValue = OFTrue);
/** Set Bits Allocated
* @param value Reference to variable in which the value should be stored
- * @param checkValue Check 'value' for conformance with VR (US) and consistency
- * with other attributes if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setBitsAllocated(const Uint16 value,
/** Set Bits Stored
* @param value Reference to variable in which the value should be stored
- * @param checkValue Check 'value' for conformance with VR (US) and consistency
- * with other attributes if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setBitsStored(const Uint16 value,
/** Set High Bit
* @param value Reference to variable in which the value should be stored
- * @param checkValue Check 'value' for conformance with VR (US) and consistency
- * with other attributes if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setHighBit(const Uint16 value,
/** Set ICC Profile
* @param values Reference to variable in which the values should be stored
- * @param length Length of array provied in values parameter
+ * @param length Length of array provided in values parameter
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setICCProfile(const Uint8* values,
/** Set Dimension Index Pointer
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR (PN) and VM (1) if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return status EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setDimensionIndexPointer(const DcmTagKey&value,
/** Set Dimension Index Functional Group Pointer
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR and VM if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return status EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setFunctionalGroupPointer(const DcmTagKey& value,
/** Set Dimension Index Functional Group PrivateCreator
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR and VM if enabled
+ * @param checkValue Check 'value. Not evaluated (here for consistency
+ * with other setter functions).
+ *
* @return status EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setFunctionalGroupPrivateCreator(const OFString& value,
/** Set Synchronization Channel
* @param value Value to be set
- * @param checkValue The check parameter is provided for consistency with
- * other methods but does not have any effect here.
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setSynchronizationChannel(const OFPair<Uint16, Uint16> &value,
# create library from source files
DCMTK_ADD_LIBRARY(dcmiod
+ cielabutil
iodcommn
iodmacro
iodimage
+cielabutil.o: cielabutil.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmiod/cielabutil.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../include/dcmtk/dcmiod/ioddef.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h
iodcommn.o: iodcommn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmiod/iodcommn.h ../include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \
- ../include/dcmtk/dcmiod/modpatient.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modpatient.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/modbase.h \
../include/dcmtk/dcmiod/modpatientstudy.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \
- ../include/dcmtk/dcmiod/modpatient.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modpatient.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/modbase.h \
../include/dcmtk/dcmiod/modpatientstudy.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmiod/ioddef.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmiod/ioddef.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \
- ../include/dcmtk/dcmiod/iodmacro.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \
- ../include/dcmtk/dcmiod/modbase.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \
../../ofstd/include/dcmtk/ofstd/ofmap.h \
- ../include/dcmtk/dcmiod/iodtypes.h \
+ ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/iodmacro.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
- ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodutil.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h
modgeneralstudy.o: modgeneralstudy.cc \
../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \
- ../include/dcmtk/dcmiod/modbase.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/ioddef.h \
../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
LOCALDEFS =
-objs = iodcommn.o iodmacro.o iodimage.o iodrules.o iodutil.o iodtypes.o \
- modacquisitioncontext.o modbase.o modcommoninstanceref.o \
+objs = cielabutil.o iodcommn.o iodmacro.o iodimage.o iodrules.o iodutil.o \
+ iodtypes.o modacquisitioncontext.o modbase.o modcommoninstanceref.o \
modenhequipment.o modenhusimage.o modenhusseries.o modequipment.o \
modfor.o modgeneralimage.o modgeneralseries.o modgeneralstudy.o \
modhelp.o modimagepixel.o modmultiframefg.o \
--- /dev/null
+/*
+ *
+ * Copyright (C) 2005–2010, Pascal Getreuer
+ * Copyright (C) 2016, Open Connections GmbH
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmiod
+ *
+ * Author: Pascal Getreuer, Michael Onken
+ *
+ * Purpose: Static helper functionality for CIE<->RGB color conversions
+ *
+ */
+#include "dcmtk/config/osconfig.h"
+#include "dcmtk/dcmiod/cielabutil.h"
+#define INCLUDE_CMATH // for pow() function
+#include "dcmtk/ofstd/ofstdinc.h"
+
+// Initialize white points of D65 light point (CIELab standard white point)
+const double IODCIELabUtil::D65_WHITEPOINT_X = 0.950456;
+const double IODCIELabUtil::D65_WHITEPOINT_Y = 1.0;
+const double IODCIELabUtil::D65_WHITEPOINT_Z = 1.088754;
+
+
+void IODCIELabUtil::dicomLab2RGB(double& R, double& G, double& B, double LDicom, double aDicom, double bDicom)
+{
+ double L, a, b;
+ dicomlab2Lab(L, a, b, LDicom, aDicom, bDicom);
+ lab2Rgb(R, G, B, L, a, b);
+}
+
+
+void IODCIELabUtil::rgb2DicomLab(double& LDicom, double& aDicom, double& bDicom, double R, double G, double B)
+{
+ double L, a, b;
+ rgb2Lab(L, a, b, R, G, B);
+ lab2DicomLab(LDicom, aDicom, bDicom, R, G, B);
+}
+
+
+void IODCIELabUtil::dicomlab2Lab(double& L, double& a, double& b, double LDicom, double aDicom, double bDicom)
+{
+ L = ((LDicom * 100.0) / 65535.0); // results in 0 <= L <= 100
+ a = ((aDicom * 255.0) / 65535.0) - 128; // results in -128 <= a <= 127
+ b = ((bDicom * 255.0) / 65535.0) - 128; // results in -128 <= b <= 127
+}
+
+
+void IODCIELabUtil::lab2DicomLab(double& LDicom, double& aDicom, double& bDicom, double L, double a, double b)
+{
+ LDicom = L * 65535.0 / 100.0; // results in 0 <= L <= 65535
+ aDicom = (a + 128) * 65535.0 / 255.0; // results in 0 <= a <= 65535
+ bDicom = (b + 128) * 65535.0 / 255.0; // results in 0 <= b <= 65535
+}
+
+
+void IODCIELabUtil::rgb2Lab(double& L, double& a, double& b, double R, double G, double B)
+{
+ double X, Y, Z;
+ rgb2Xyz(X, Y, Z, R, G, B);
+ xyz2Lab(L, a, b, X, Y, Z);
+}
+
+
+double IODCIELabUtil::gammaCorrection(double n)
+{
+ if ((n) <= 0.0031306684425005883)
+ {
+ return 12.92 * (n);
+ }
+ else
+ {
+ return (1.055*pow((n), 0.416666666666666667) - 0.055);
+ }
+}
+
+
+double IODCIELabUtil::invGammaCorrection(double n)
+{
+ if ((n) <= 0.0404482362771076)
+ {
+ return ((n) / 12.92);
+ }
+ else
+ {
+ return ( pow(((n) + 0.055)/1.055, 2.4) );
+ }
+}
+
+
+void IODCIELabUtil::rgb2Xyz(double& X, double& Y, double& Z, double R, double G, double B)
+{
+ R = invGammaCorrection(R);
+ G = invGammaCorrection(G);
+ B = invGammaCorrection(B);
+ X = (double)(0.4123955889674142161*R + 0.3575834307637148171*G + 0.1804926473817015735*B);
+ Y = (double)(0.2125862307855955516*R + 0.7151703037034108499*G + 0.07220049864333622685*B);
+ Z = (double)(0.01929721549174694484*R + 0.1191838645808485318*G + 0.9504971251315797660*B);
+}
+
+
+void IODCIELabUtil::xyz2Lab(double& L, double& a, double& b, double X, double Y, double Z)
+{
+ X /= D65_WHITEPOINT_X;
+ Y /= D65_WHITEPOINT_Y;
+ Z /= D65_WHITEPOINT_Z;
+ X = labf(X);
+ Y = labf(Y);
+ Z = labf(Z);
+ L = 116*Y - 16;
+ a = 500*(X - Y);
+ b = 200*(Y - Z);
+}
+
+
+void IODCIELabUtil::lab2Rgb(double& R, double& G, double& B, double L, double a, double b)
+{
+ double X, Y, Z;
+ lab2Xyz(X, Y, Z, L, a, b);
+ xyz2Rgb(R, G, B, X, Y, Z);
+}
+
+
+void IODCIELabUtil::lab2Xyz(double& X, double& Y, double& Z, double L, double a, double b)
+{
+ L = (L + 16)/116;
+ a = L + a/500;
+ b = L - b/200;
+ X = D65_WHITEPOINT_X * labfInv(a);
+ Y = D65_WHITEPOINT_Y * labfInv(L);
+ Z = D65_WHITEPOINT_Z * labfInv(b);
+}
+
+
+void IODCIELabUtil::xyz2Rgb(double& R, double& G, double& B, double X, double Y, double Z)
+{
+ double R1, B1, G1, Min;
+
+ R1 = (double)( 3.2406*X - 1.5372*Y - 0.4986*Z);
+ G1 = (double)(-0.9689*X + 1.8758*Y + 0.0415*Z);
+ B1 = (double)( 0.0557*X - 0.2040*Y + 1.0570*Z);
+
+ Min = min3(R1, G1, B1);
+
+ /* Force nonnegative values so that gamma correction is well-defined. */
+ if(Min < 0)
+ {
+ R1 -= Min;
+ G1 -= Min;
+ B1 -= Min;
+ }
+
+ /* Transform from RGB to R'G'B' */
+ R = gammaCorrection(R1);
+ G = gammaCorrection(G1);
+ B = gammaCorrection(B1);
+}
+
+
+double IODCIELabUtil::labf(double n)
+{
+ if (n >= 8.85645167903563082e-3)
+ {
+ return ( pow(n, 0.333333333333333) );
+ }
+ else
+ {
+ return ( (841.0/108.0)*(n) + (4.0/29.0) );
+ }
+}
+
+
+double IODCIELabUtil::labfInv(double n)
+{
+ if ( (n) >= 0.206896551724137931 )
+ {
+ return (n)*(n)*(n);
+ }
+ else
+ {
+ return (108.0/841.0)*((n) - (4.0/29.0));
+ }
+}
+
+
+double IODCIELabUtil::min(double a, double b)
+{
+ if (a <= b)
+ return a;
+ else
+ return b;
+}
+
+
+double IODCIELabUtil::min3(double a, double b, double c)
+{
+ if (a <= b)
+ return min(a,c);
+ else
+ return min (b,c);
+}
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFCondition ImageSOPInstanceReferenceMacro::addReferencedFrameNumber(const Uint16& value,
const OFBool checkValue)
{
+ (void)checkValue;
const unsigned long count = ReferencedFrameNumber.getVM();
return ReferencedFrameNumber.putUint16(value, count /* starts with 0, so add new value at the end */);
}
OFCondition ImageSOPInstanceReferenceMacro::addReferencedSegmentNumber(const Uint16& value,
const OFBool checkValue)
{
+ (void)checkValue;
const unsigned long count = ReferencedSegmentNumber.getVM();
return ReferencedSegmentNumber.putUint16(value, count /* starts with 0, so add new value at the end */);
OFCondition AlgorithmIdentificationMacro::setAlgorithmParameters(const OFString& value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmLongText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_AlgorithmParameters.putOFStringArray(value);
- return result;
+ (void)checkValue;
+ return m_AlgorithmParameters.putOFStringArray(value);
}
OFCondition ContentIdentificationMacro::check(const OFBool quiet)
{
+ (void)quiet;
OFCondition result;
OFBool failure = m_ContentLabel.isEmpty() || m_InstanceNumber.isEmpty();
if (!failure)
OFCondition ContentIdentificationMacro::setInstanceNumber(const OFString& value,
const OFBool checkValue)
{
- return m_InstanceNumber.putOFStringArray(value);
+ OFCondition result;
+ if (checkValue)
+ {
+ result = (checkValue) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal;
+ }
+ if (result.good())
+ {
+ result = m_InstanceNumber.putOFStringArray(value);
+ }
+ return result;
}
OFCondition HL7HierarchicDesignatorMacro::setLocalNamespaceEntityID(const OFString& value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmUnlimitedText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_Item->putAndInsertOFStringArray(DCM_LocalNamespaceEntityID,value);
- return result;
+ (void)checkValue;
+ return m_Item->putAndInsertOFStringArray(DCM_LocalNamespaceEntityID,value);
}
OFCondition HL7HierarchicDesignatorMacro::setUniversalEntityID(const OFString& value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmUnlimitedText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_Item->putAndInsertOFStringArray(DCM_UniversalEntityID,value);
- return result;
+ (void) checkValue;
+ return m_Item->putAndInsertOFStringArray(DCM_UniversalEntityID,value);
}
{
if (EC_Normal != dset.chooseRepresentation(EXS_LittleEndianExplicit, NULL))
{
- DCMIOD_ERROR("No conversion uncompressed transfer syntax possible!");
+ DCMIOD_ERROR("No conversion to uncompressed transfer syntax possible!");
return IOD_EC_CannotDecompress;
}
}
value += "\\";
value += derivedPixelContrast;
- return m_Item->putAndInsertOFStringArray(DCM_ImageType, value);
+ OFCondition result;
+ if (checkValue)
+ {
+ result = DcmCodeString::checkStringValue(value, "2");
+ }
+ if (result.good())
+ {
+ result = m_Item->putAndInsertOFStringArray(DCM_ImageType, value);
+ }
+ return result;
}
OFCondition IODEnhUSImageModule::setLossyImageCompressionMethod(const OFString& value,
- const unsigned long pos,
const OFBool checkValue)
{
OFCondition result = (checkValue) ? DcmCodeString::checkStringValue(value, "1-n") : EC_Normal;
}
-OFCondition IODEnhUSImageModule::setCranialThermalIndex(const OFString& value, const bool checkValue)
+OFCondition IODEnhUSImageModule::setCranialThermalIndex(const OFString& value,
+ const bool checkValue)
{
OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
if (result.good())
}
-OFCondition IODEnhUSImageModule::setSoftTissueThermalIndex(const OFString& value, const bool checkValue)
+OFCondition IODEnhUSImageModule::setSoftTissueThermalIndex(const OFString& value,
+ const bool checkValue)
{
OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
if (result.good())
}
-OFCondition IODEnhUSImageModule::setDepthsOfFocus(const Float64 value, const long unsigned int pos, const bool checkValue)
+OFCondition IODEnhUSImageModule::setDepthsOfFocus(const Float64 value,
+ const long unsigned int pos,
+ const bool checkValue)
{
+ (void)checkValue;
return m_Item->putAndInsertFloat64(DCM_DepthsOfFocus, value, pos);
}
-OFCondition IODEnhUSImageModule::setDepthsOfFocus(const OFVector< Float64 >& values, const bool checkValue)
+OFCondition IODEnhUSImageModule::setDepthsOfFocus(const OFVector< Float64 >& values,
+ const bool checkValue)
{
+ (void)checkValue;
DcmElement* elem = newDicomElement(DCM_DepthsOfFocus);
if (!elem)
return EC_MemoryExhausted;
}
-OFCondition IODEnhUSImageModule::setDepthsOfScanField(const OFString& value, const bool checkValue)
+OFCondition IODEnhUSImageModule::setDepthsOfScanField(const OFString& value,
+ const bool checkValue)
{
OFCondition result = (checkValue) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal;
if (result.good())
OFCondition IODEnhancedUSSeriesModule::getModality(OFString &value,
const signed long pos) const
{
- value = "US";
- return EC_Normal;
+ return DcmIODUtil::getStringValueFromItem(DCM_Modality, *m_Item, value, pos);
}
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFCondition IODGeneralEquipmentModule::setInstitutionAddress(const OFString& value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmShortText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_Item->putAndInsertOFStringArray(DCM_InstitutionAddress, value);
- return result;
+ (void)checkValue;
+ return m_Item->putAndInsertOFStringArray(DCM_InstitutionAddress, value);
}
OFCondition IODGeneralImageModule::setImageComments(const OFString &value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmLongText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_Item->putAndInsertOFStringArray(DCM_ImageComments, value);
- return result;
+ (void)checkValue;
+ return m_Item->putAndInsertOFStringArray(DCM_ImageComments, value);
}
m_Rules->addRule(new IODRule(DCM_OperatorsName, "1-n","3", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue);
m_Rules->addRule(new IODRule(DCM_BodyPartExamined, "1","3", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue);
m_Rules->addRule(new IODRule(DCM_PatientPosition, "1","2C", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue);
+ m_Rules->addRule(new IODRule(DCM_ReferencedPerformedProcedureStepSequence, "1","3", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue);
+}
+
+
+OFCondition IODGeneralSeriesModule::read(DcmItem& source,
+ const OFBool clearOldData)
+{
+ if (clearOldData)
+ clearData();
+
+ IODComponent::read(source, OFFalse /* data already cleared */);
+ DcmIODUtil::readSingleItem<SOPInstanceReferenceMacro>(source, DCM_ReferencedPerformedProcedureStepSequence, m_ReferencedPPS, m_Rules->getByTag(DCM_ReferencedPerformedProcedureStepSequence));
+
+ return EC_Normal;
+}
+
+
+OFCondition IODGeneralSeriesModule::write(DcmItem& destination)
+{
+ OFCondition result = EC_Normal;
+
+ result = IODComponent::write(destination);
+ DcmIODUtil::writeSingleItem<SOPInstanceReferenceMacro>(result, DCM_ReferencedPerformedProcedureStepSequence, m_ReferencedPPS, destination, m_Rules->getByTag(DCM_ReferencedPerformedProcedureStepSequence));
+
+ return result;
}
}
+SOPInstanceReferenceMacro& IODGeneralSeriesModule::getReferencedPPS()
+{
+ return m_ReferencedPPS;
+}
+
+
OFCondition IODGeneralSeriesModule::setModality(const OFString &value,
const OFBool checkValue)
{
OFCondition IODGeneralSeriesModule::setLaterality(const DcmIODTypes::IOD_LATERALITY laterality,
const OFBool checkValue)
{
+ (void)checkValue;
OFCondition result;
switch(laterality)
{
OFCondition IODImagePixelModule::setRows(const Uint16 value,
const OFBool checkValue)
{
+ (void)checkValue;
return m_Item->putAndInsertUint16(DCM_Rows, value);
}
OFCondition IODImagePixelModule::setColumns(const Uint16 value,
const OFBool checkValue)
{
+ (void)checkValue;
return m_Item->putAndInsertUint16(DCM_Columns, value);
}
OFCondition IODImagePixelModule::setBitsAllocated(const Uint16 value,
const OFBool checkValue)
{
+ (void)checkValue;
return m_Item->putAndInsertUint16(DCM_BitsAllocated, value);
}
OFCondition IODImagePixelModule::setBitsStored(const Uint16 value,
const OFBool checkValue)
{
- // TODO: check consistency between bits allocated, bits stored and high bit if possible
+ (void)checkValue;
return m_Item->putAndInsertUint16(DCM_BitsStored, value);
}
OFCondition IODImagePixelModule::setHighBit(const Uint16 value,
const OFBool checkValue)
{
- // TODO: check consistency between bits allocated, bits stored and high bit if possible
+ (void)checkValue;
return m_Item->putAndInsertUint16(DCM_HighBit, value);
}
OFCondition IODMultiframeDimensionModule::DimensionIndexItem::setFunctionalGroupPointer(const DcmTagKey& value,
- const OFBool checkValue)
+ const OFBool checkValue)
{
+ (void)checkValue;
if (value == DCM_UndefinedTagKey)
return EC_IllegalParameter;
OFCondition IODMultiframeDimensionModule::DimensionIndexItem::setDimensionIndexPointer(const DcmTagKey& value,
- const OFBool checkValue)
+ const OFBool checkValue)
{
+ (void)checkValue;
if (value == DCM_UndefinedTagKey)
return EC_IllegalParameter;
OFCondition IODSynchronizationModule::setSynchronizationChannel(const OFPair<Uint16, Uint16> &value,
const OFBool checkValue)
{
+ (void)checkValue;
OFCondition result = m_Item->putAndInsertUint16(DCM_SynchronizationChannel, value.first, 0);
if (result.good())
{
--- /dev/null
+# declare executables
+DCMTK_ADD_EXECUTABLE(dcmiod_tests tests tcielabutil)
+
+# make sure executables are linked to the corresponding libraries
+DCMTK_TARGET_LINK_MODULES(dcmiod_tests dcmiod dcmdata oflog ofstd)
+
+# This macro parses tests.cc and registers all tests
+DCMTK_ADD_TESTS(dcmiod)
--- /dev/null
+tcielabutil.o: tcielabutil.cc \
+ ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/oftest.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../include/dcmtk/dcmiod/cielabutil.h ../include/dcmtk/dcmiod/ioddef.h
+tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/oftest.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h
@SET_MAKE@
SHELL = /bin/sh
+VPATH = @srcdir@:@top_srcdir@/include:@top_srcdir@/@configdir@/include
srcdir = @srcdir@
top_srcdir = @top_srcdir@
configdir = @top_srcdir@/@configdir@
include $(configdir)/@common_makefile@
+ofstddir = $(top_srcdir)/../ofstd
+oflogdir = $(top_srcdir)/../oflog
+dcmdatadir = $(top_srcdir)/../dcmdata
+dcmioddir = $(top_srcdir)/../dcmiod
-all:
+LOCALINCLUDES = -I$(dcmioddir)/include -I$(dcmdatadir)/include -I$(oflogdir)/include -I$(ofstddir)/include
+LIBDIRS = -L$(top_srcdir)/libsrc -L$(dcmioddir)/libsrc -L$(dcmdatadir)/libsrc \
+ -L$(oflogdir)/libsrc -L$(ofstddir)/libsrc
+LOCALLIBS = -ldcmiod -ldcmdata -loflog -lofstd \
+ $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(ICONVLIBS)
-check:
+test_objs = tests.o tcielabutil.o
+objs = tests.o $(test_objs)
+progs = tests
-check-exhaustive:
-install:
+all: $(progs)
+
+tclabutil: tclabutil.o
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS)
+
+tests: $(test_objs)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(ICONVLIBS) $(LIBS)
+
+install: all
+
+
+check: tests
+ ./tests
+
+check-exhaustive: tests
+ ./tests -x
+
clean:
- rm -f $(TRASH)
+ rm -f $(objs) $(progs) $(TRASH)
distclean:
- rm -f $(DISTTRASH)
+ rm -f $(objs) $(progs) $(DISTTRASH)
+
dependencies:
+ $(CXX) -MM $(defines) $(includes) $(CPPFLAGS) $(CXXFLAGS) *.cc > $(DEP)
+
+include $(DEP)
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmseg
+ *
+ * Author: Michael Onken
+ *
+ * Purpose: Tests for dcmiod's color conversion functionalities
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/dcmiod/cielabutil.h"
+#define INCLUDE_CSTDLIB // for srand()
+#define INCLUDE_CTIME // for time() initialization of srand()
+#include "dcmtk/ofstd/ofstdinc.h"
+
+OFTEST(dcmiod_tcielabutil)
+{
+ // Result variables for testing
+ double r1, r2, r3;
+ r1=r2=r3 = 0.0;
+
+ // Test RGB -> CIELab conversion with medium values
+ IODCIELabUtil::rgb2Lab(r1, r2, r3 /* L,a,b */, 0.5, 0.5, 0.5);
+ OFCHECK( fabs(53.388 - r1) < 0.001 );
+ OFCHECK( fabs(0.006 - r2) < 0.001 );
+ OFCHECK( fabs(-0.010 - r3) < 0.001 );
+
+ // Test RGB -> CIEXYZ conversion with medium values
+ r1=r2=r3 = 0;
+ IODCIELabUtil::rgb2Xyz(r1, r2, r3 /* X,Y,Z */, 0.5, 0.5, 0.5);
+ OFCHECK( fabs(0.203 - r1) < 0.001 );
+ OFCHECK( fabs(0.214 - r2) < 0.001 );
+ OFCHECK( fabs(0.233 - r3) < 0.001 );
+
+ // Test RGB -> CIELab conversion with minimum value
+ r1=r2=r3 = 0;
+ IODCIELabUtil::rgb2Lab(r1, r2, r3 /* L,a,b */, 0, 0, 0);
+ OFCHECK( fabs(0 - r1) < 0.001 );
+ OFCHECK( fabs(0 - r2) < 0.001 );
+ OFCHECK( fabs(0 - r3) < 0.001 );
+
+ // Test RGB -> XYZ conversion with minimum values
+ r1=r2=r3 = 0;
+ IODCIELabUtil::rgb2Xyz(r1, r2, r3 /* X,Y,Z */, 0, 0, 0);
+ OFCHECK( fabs(0 - r1) < 0.001 );
+ OFCHECK( fabs(0 - r2) < 0.001 );
+ OFCHECK( fabs(0 - r3) < 0.001 );
+
+ // Test DICOM CIELab to "normalized" CIELab conversion with maximum values
+ r1=r2=r3 = 0;
+ IODCIELabUtil::dicomlab2Lab(r1, r2, r3, 65535, 65535, 65535 );
+ OFCHECK( fabs(100 - r1) < 0.001 );
+ OFCHECK( fabs(127 - r2) < 0.001 );
+ OFCHECK( fabs(127 - r3) < 0.001 );
+
+ // Test DICOM CIELab to "normalized" CIELab conversion with minimum values
+ r1=r2=r3 = 0;
+ IODCIELabUtil::dicomlab2Lab(r1, r2, r3, 0, 0, 0 );
+ OFCHECK( fabs(0 - r1) < 0.001 );
+ OFCHECK( fabs(-128 - r2) < 0.001 );
+ OFCHECK( fabs(-128 - r3) < 0.001 );
+
+ // Convert between colorspaces back and forth and check whether deviation after
+ // roundtrip is less than around 1 promille
+
+ // Initialize random numbers
+ srand (OFstatic_cast(unsigned int, time (NULL)));
+
+ // We do 1000 runs
+ for (size_t run = 0; run < 1000; run++)
+ {
+ // i1, i2, i3: Input for conversion
+ // r1, r2, r3: Results of conversion
+ // o1, o2, o3: Output of inverse conversion (should equal i1, i2, i3)
+ double i1, i2, i3, o1, o2, o3;
+ i1 = i2 = i3 = r1 = r2 = r3 = o1 = o2 = o3 = 0.0;
+
+ // Roundtrip RGB -> CIELab -> RGB
+ i1 = (double)rand() / (double)RAND_MAX;
+ i2 = (double)rand() / (double)RAND_MAX;
+ i3 = (double)rand() / (double)RAND_MAX;
+ IODCIELabUtil::rgb2Lab(r1, r2, r3, i1, i2, i3);
+ IODCIELabUtil::lab2Rgb(o1, o2, o3, r1, r2, r3);
+ OFCHECK( fabs(i1 - o1) < 0.001 );
+ OFCHECK( fabs(i2 - o2) < 0.001 );
+ OFCHECK( fabs(i3 - o3) < 0.001 );
+
+ // Roundtrip CIELab -> DICOM CIELab -> CIELab
+ i1 = i2 = i3 = r1 = r2 = r3 = o1 = o2 = o3 = 0.0;
+ i1 = ((double)rand() / ((double)RAND_MAX)) * 100.0;
+ i2 = ((double)rand() / ((double)RAND_MAX)) * 255.0 - 128;
+ i3 = ((double)rand() / ((double)RAND_MAX)) * 255.0 - 128;
+ IODCIELabUtil::lab2DicomLab(r1, r2, r3, i1, i2, i3);
+ IODCIELabUtil::dicomlab2Lab(o1, o2, o3, r1, r2, r3);
+ OFCHECK( fabs(i1 - o1) < 0.001 );
+ OFCHECK( fabs(i2 - o2) < 0.001 );
+ OFCHECK( fabs(i3 - o3) < 0.001 );
+
+ // Roundtrip RGB -> CIEXYZ -> CIELab -> dicomCIELab -> RGB
+ i1 = i2 = i3 = r1 = r2 = r3 = o1 = o2 = o3 = 0.0;
+ i1 = ((double)rand() / ((double)RAND_MAX));
+ i2 = ((double)rand() / ((double)RAND_MAX));
+ i3 = ((double)rand() / ((double)RAND_MAX));
+ IODCIELabUtil::rgb2Xyz(r1, r2, r3, i1, i2, i3);
+ IODCIELabUtil::xyz2Lab(o1, o2, o3, r1, r2, r3);
+ IODCIELabUtil::lab2DicomLab(r1, r2, r3, o1, o2, o3);
+ IODCIELabUtil::dicomLab2RGB(o1, o2, o3, r1, r2, r3);
+
+ OFCHECK( fabs(i1 - o1) < 0.001 );
+ OFCHECK( fabs(i2 - o2) < 0.001 );
+ OFCHECK( fabs(i3 - o3) < 0.001 );
+
+ }
+}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmiod
+ *
+ * Author: Michael Onken
+ *
+ * Purpose: main test program
+ *
+ */
+
+#include "dcmtk/config/osconfig.h"
+#include "dcmtk/ofstd/oftest.h"
+
+OFTEST_REGISTER(dcmiod_tcielabutil);
+OFTEST_MAIN("dcmiod")
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmjpeg/djdecode.h ../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmjpeg/djdecode.h ../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \
../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmdata/include/dcmtk/dcmdata/dcddirif.h \
../../dcmimage/include/dcmtk/dcmimage/diregist.h \
(STD-GEN-BD-MPEG4-HPLV41)
\li General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible
HiP\@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD)
+\li General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D
+ video (STD-GEN-BD-MPEG4-HPLV42-2D)
+\li General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D
+ video (STD-GEN-BD-MPEG4-HPLV42-3D)
+\li General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2
+ (STD-GEN-BD-MPEG4-SHPLV42)
\li General Purpose USB and Flash Memory Interchange with JPEG
(STD-GEN-USB/MMC/CF/SD-JPEG)
\li General Purpose USB and Flash Memory Interchange with JPEG 2000
General Purpose BD Interchange with MPEG-4 AVC/H.264
BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD)
+ --general-bd-mpeg4-hp2d
+ General Purpose BD Interchange with MPEG-4 AVC/H.264
+ HiP@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D)
+
+ --general-bd-mpeg4-hp3d
+ General Purpose BD Interchange with MPEG-4 AVC/H.264
+ HiP@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D)
+
+ --general-bd-mpeg4-hpst
+ General Purpose BD Interchange with MPEG-4 AVC/H.264
+ Stereo HiP@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42)
+
-Pfl --usb-and-flash-jpeg
General Purpose USB/Flash Memory Interchange with JPEG
(STD-GEN-USB/MMC/CF/SD-JPEG)
\section copyright COPYRIGHT
-Copyright (C) 2001-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 2001-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmjpeg/djdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dccodec.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmjpeg/djutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmjpeg/djdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \
../include/dcmtk/dcmjpeg/djdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmimage/include/dcmtk/dcmimage/diregist.h \
../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmimage/include/dcmtk/dcmimage/diregist.h \
../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \
../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h header.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h header.h \
../../ofstd/include/dcmtk/ofstd/ofaptr.h streams.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h
_rect()
{
::memset(&_info, 0, sizeof(_info));
+ ::memset(&_rect, 0, sizeof(_rect));
}
//
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmjpls/dldefine.h \
../../dcmdata/include/dcmtk/dcmdata/dccodec.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmjpls/dldefine.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmjpls/dldefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \
../include/dcmtk/dcmnet/dcompat.h \
../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h
dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dimse.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
- ../../ofstd/include/dcmtk/ofstd/ofcond.h ../include/dcmtk/dcmnet/scu.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h ../include/dcmtk/dcmnet/scu.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
/* create full path name for the output file */
OFString ofname;
OFStandard::combineDirAndFilename(ofname, opt_outputDirectory, cbdata->imageFileName, OFTrue /* allowEmptyDirName */);
+ if (OFStandard::fileExists(ofname))
+ {
+ OFLOG_WARN(movescuLogger, "DICOM file already exists, overwriting: " << ofname);
+ }
E_TransferSyntax xfer = opt_writeTransferSyntax;
if (xfer == EXS_Unknown) xfer = (*imageDataSet)->getOriginalXfer();
DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3
SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4
SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5
+TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6
RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67
SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1
SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2
RadiopharmaceuticalRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
+AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128
DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2
DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
+RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10
GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1
ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1
ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1
\section copyright COPYRIGHT
-Copyright (C) 1996-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 1996-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
#
-# Copyright (C) 2003-2015, OFFIS e.V.
+# Copyright (C) 2003-2016, OFFIS e.V.
# All rights reserved. See COPYRIGHT file for details.
#
# This software and supporting documentation were developed by
#
# the following SOP classes are missing in the above list:
#
+# - AcquisitionContextSRStorage
# - BreastProjectionXRayImageStorageForPresentation
# - BreastProjectionXRayImageStorageForProcessing
# - CompositingPlanarMPRVolumetricPresentationStateStorage
# - LegacyConvertedEnhancedPETImageStorage
# - ParametricMapStorage
# - RadiopharmaceuticalRadiationDoseSRStorage
+# - RTBrachyApplicationSetupDeliveryInstructionStorage
+# - TractographyResultsStorage
# - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
# - WideFieldOphthalmicPhotography3DCoordinatesImageStorage
#
#
-# Copyright (C) 2003-2015, OFFIS e.V.
+# Copyright (C) 2003-2016, OFFIS e.V.
# All rights reserved. See COPYRIGHT file for details.
#
# This software and supporting documentation were developed by
#
# the following SOP classes are missing in the above list:
#
+# - AcquisitionContextSRStorage
# - ArterialPulseWaveformStorage
# - AutorefractionMeasurementsStorage
# - BasicStructuredDisplayStorage
# - RealWorldValueMappingStorage
# - RespiratoryWaveformStorage
# - RTBeamsDeliveryInstructionStorage
+# - RTBrachyApplicationSetupDeliveryInstructionStorage
# - RTIonBeamsTreatmentRecordStorage
# - RTIonPlanStorage
# - SegmentationStorage
# - SurfaceScanMeshStorage
# - SurfaceScanPointCloudStorage
# - SurfaceSegmentationStorage
+# - TractographyResultsStorage
# - VisualAcuityMeasurementsStorage
# - VLWholeSlideMicroscopyImageStorage
# - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
/*
*
- * Copyright (C) 1994-2015, OFFIS e.V.
+ * Copyright (C) 1994-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* Author: Marco Eichelberg
*
- * Purpose:
+ * Purpose:
* class DcmTransferSyntaxMap
*
*/
*/
OFMap<OFString, DcmTransferSyntaxList*>::const_iterator end();
- /** get transfer syntax list denoted by given key
- * @param ts the name of the transfer syntax list
- * @param the transfer syntax list
- */
- const DcmTransferSyntaxList* getTSList(const OFString& ts);
-
/** Resets DcmTransferSyntaxMap and frees any allocated memory
*/
void clear();
* @param transferSyntaxUID transfer syntax UID
* @return EC_Normal if successful, an error code otherwise
*/
- OFCondition add(
- const char *key,
- const char *transferSyntaxUID);
+ OFCondition add(const char *key, const char *transferSyntaxUID);
/** checks if the key is known
* @param key key name, must not be NULL
DCMTK_DCMNET_EXPORT const char *DU_ndeleteStatusString(Uint16 statusCode);
DCMTK_DCMNET_EXPORT const char *DU_neventReportStatusString(Uint16 statusCode);
+/** Logs result of a select() call. According to the select() documentation,
+ * a value of > 1 means that data has arrived. This is logged on TRACE level
+ * since it should be a very regular case. If select() returns 0, a timeout
+ * has occured, and in case of -1 another error happened (e.g. interrupt).
+ * These two events are logged to DEBUG log level.
+ * Note that this function makes use of errno (Unix) or WSAGetLastError()
+ * (Windows aka Winsock), so it must be called right after the select() call
+ * since otherwise the error might be already cleared or modified.
+ * @param selectReturnValue The return value returned by select()
+ */
+DCMTK_DCMNET_EXPORT void DU_logSelectResult(int selectReturnValue);
+
#endif
/*
*
- * Copyright (C) 2011-2014, OFFIS e.V.
+ * Copyright (C) 2011-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* conformance. If OFFalse, only empty values are rejected.
* @return status, EC_Normal if successful, an error code otherwise
*/
- OFCondition addDicomFile(const OFString &filename,
+ OFCondition addDicomFile(const OFFilename &filename,
const E_FileReadMode readMode = ERM_fileOnly,
const OFBool checkValues = OFTrue);
* @param transferSyntaxUID Transfer Syntax UID of the SOP instance to be
* transferred
*/
- TransferEntry(const OFString &filename,
+ TransferEntry(const OFFilename &filename,
const E_FileReadMode readMode,
const OFString &sopClassUID,
const OFString &sopInstanceUID,
~TransferEntry();
/// filename of the SOP instance to be transferred (if no 'Dataset' given)
- const OFString Filename;
+ const OFFilename Filename;
/// read mode that should be used to read the given SOP instance from file
const E_FileReadMode FileReadMode;
/// dataset of the SOP instance to be transferred (if no 'Filename' given)
* only empty values are rejected.
* @return status, EC_Normal if successful, an error code otherwise
*/
- OFCondition addDicomFilesFromDICOMDIR(const OFString &filename,
+ OFCondition addDicomFilesFromDICOMDIR(const OFFilename &filename,
const E_FileReadMode readMode,
const OFBool checkValues);
- // --- static methods ---
-
/** check given SOP Class UID, SOP Instance UID and Transfer Syntax UID for validity and
* conformance to the DICOM standard. For all UID values, the compliance with the
* requirements of the value representation "Unique Identifier" (UI) and value
* For the Transfer Syntax UID, it is checked whether it is known and generally
* supported. Further checks will be performed when the list of presentation contexts is
* created for the association negotiation.
+ * This method is called for each SOP instance that is added to the transfer list by one
+ * of the following methods: addDicomFile(), addDataset(), addDicomFilesFromDICOMDIR()
* @param sopClassUID value of the SOP Class UID to be checked
* @param sopInstanceUID value of the SOP Instance UID to be checked
* @param transferSyntaxUID value of the Transfer Syntax UID to be checked
* are rejected.
* @return status, EC_Normal if successful, an error code otherwise
*/
- static OFCondition checkSOPInstance(const OFString &sopClassUID,
- const OFString &sopInstanceUID,
- const OFString &transferSyntaxUID,
- const OFBool checkValues);
+ virtual OFCondition checkSOPInstance(const OFString &sopClassUID,
+ const OFString &sopInstanceUID,
+ const OFString &transferSyntaxUID,
+ const OFBool checkValues);
/** This method is called each time a SOP instance is sent to a peer. Since it is called
* after the SOP instance has been processed, the transfer entry passed to this method
#include "dcmtk/dcmnet/assoc.h"
#include "dcmtk/dcmnet/dimse.h" /* DIMSE network layer */
#include "dcmtk/dcmnet/scpcfg.h"
+#include "dcmtk/dcmnet/diutil.h" /* for DCMNET_WARN() */
#ifdef WITH_ZLIB
#include <zlib.h> /* for zlibVersion() */
* @param reqDataset [out] Pointer to the dataset received
* @return status, EC_Normal if successful, an error code otherwise
*/
+ virtual OFCondition receiveFINDRequest(T_DIMSE_C_FindRQ &reqMessage,
+ const T_ASC_PresentationContextID presID,
+ DcmDataset *&reqDataset);
+
+ /** Handle C-FIND request. This function is deprecated and will be removed in
+ * the future. For now it calls receiveFINDRequest() which should be used
+ * instead.
+ * @param reqMessage [in] The C-FIND request message that was received
+ * @param presID [in] The presentation context to be used. By default, the
+ * presentation context of the request is used.
+ * @param reqDataset [out] Pointer to the dataset received
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
virtual OFCondition handleFINDRequest(T_DIMSE_C_FindRQ &reqMessage,
const T_ASC_PresentationContextID presID,
- DcmDataset *&reqDataset);
+ DcmDataset *&reqDataset)
+ {
+ DCMNET_WARN("handleFINDRequest() is deprecated, use receiveFINDRequest() instead");
+ return receiveFINDRequest(reqMessage, presID, reqDataset);
+ }
/** Respond to the C-FIND request
* @param presID [in] The presentation context ID to respond to
* @param moveDest [out] The move destination where to send the instances
* @return status, EC_Normal if successful, an error code otherwise
*/
+ virtual OFCondition receiveMOVERequest(T_DIMSE_C_MoveRQ &reqMessage,
+ const T_ASC_PresentationContextID presID,
+ DcmDataset *&reqDataset,
+ OFString &moveDest);
+
+ /** Receive C-MOVE request on the currently active association. This function
+ * is deprecated and will be removed in the future. For now it calls
+ * receiveMOVERequest() which should be used instead.
+ * @param reqMessage [in] The C-MOVE request message that was received
+ * @param presID [in] The presentation context to be used. By default, the
+ * presentation context of the request is used.
+ * @param reqDataset [out] Pointer to the dataset received
+ * @param moveDest [out] The move destination where to send the instances
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
virtual OFCondition handleMOVERequest(T_DIMSE_C_MoveRQ &reqMessage,
const T_ASC_PresentationContextID presID,
DcmDataset *&reqDataset,
- OFString &moveDest);
+ OFString &moveDest)
+ {
+ DCMNET_WARN("handleMOVERequest() is deprecated, use receiveMOVERequest() instead");
+ return receiveMOVERequest(reqMessage, presID, reqDataset, moveDest);
+ }
/** Respond to the C-MOVE request
* @param presID [in] The presentation context ID to respond to
* @param actionTypeID [out] Action Type ID from the command set received
* @return status, EC_Normal if successful, an error code otherwise
*/
+ virtual OFCondition receiveACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage,
+ const T_ASC_PresentationContextID presID,
+ DcmDataset *&reqDataset,
+ Uint16 &actionTypeID);
+
+ /** Receive N-ACTION request on the currently opened association. This
+ * function is deprecated and will be removed in the future. For now it calls
+ * receiveACTIONRequest() which should be used instead.
+ * @param reqMessage [in] The N-ACTION request message that was received
+ * @param presID [in] The presentation context to be used. By default, the
+ * presentation context of the request is used.
+ * @param reqDataset [out] Pointer to the dataset received
+ * @param actionTypeID [out] Action Type ID from the command set received
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
virtual OFCondition handleACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage,
const T_ASC_PresentationContextID presID,
DcmDataset *&reqDataset,
- Uint16 &actionTypeID);
+ Uint16 &actionTypeID)
+ {
+ DCMNET_WARN("handleACTIONRequest() is deprecated, use receiveACTIONRequest() instead");
+ return receiveACTIONRequest(reqMessage, presID, reqDataset, actionTypeID);
+ }
/** Respond to the N-ACTION request
* @param presID [in] The presentation context ID to respond to
/*
*
- * Copyright (C) 2008-2014, OFFIS e.V.
+ * Copyright (C) 2008-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* failure of the storage request, EC_Normal will be returned.
*/
virtual OFCondition sendSTORERequest(const T_ASC_PresentationContextID presID,
- const OFString &dicomFile,
+ const OFFilename &dicomFile,
DcmDataset *dataset,
Uint16 &rspStatusCode,
const OFString &moveOriginatorAETitle = "",
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
dcmlayer.o: dcmlayer.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h dulstruc.h
dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmnet/dfindscu.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcostrma.h
diutil.o: diutil.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
- ../include/dcmtk/dcmnet/cond.h \
- ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
- ../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcast.h \
../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \
+ ../include/dcmtk/dcmnet/cond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/diutil.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \
dulstruc.h dulpriv.h ../include/dcmtk/dcmnet/dcmtrans.h \
- ../include/dcmtk/dcmnet/dcmlayer.h
+ ../include/dcmtk/dcmnet/dcmlayer.h ../include/dcmtk/dcmnet/diutil.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/assoc.h
dulfsm.o: dulfsm.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
dulparse.o: dulparse.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
- ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
- ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcast.h \
../../ofstd/include/dcmtk/ofstd/ofexport.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
- ../../ofstd/include/dcmtk/ofstd/ofstd.h \
- ../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
#else
nfound = select(s + 1, &fdset, NULL, NULL, &t);
#endif
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
return nfound > 0;
}
return map_.end();
}
-const DcmTransferSyntaxList* DcmTransferSyntaxMap::getTSList(const OFString& ts)
-{
- OFMap<OFString, DcmTransferSyntaxList*>::const_iterator it = map_.begin();
- if ( it == map_.end() )
- {
- return NULL;
- }
- return (*it).second;
-}
void DcmTransferSyntaxMap::clear()
{
}
}
-
size_t DcmTransferSyntaxMap::size() const
{
return map_.size();
/*
*
- * Copyright (C) 1998-2012, OFFIS e.V.
+ * Copyright (C) 1998-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#else
int nfound = select(maxsocketfd + 1, &fdset, NULL, NULL, &t);
#endif
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
if (nfound<=0) return OFFalse; /* none available for reading */
for (i=0; i<connCount; i++)
#else
nfound = select(getSocket() + 1, &fdset, NULL, NULL, &t);
#endif
- if (nfound <= 0) return OFFalse;
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
+ if (nfound <= 0)
+ {
+ return OFFalse;
+ }
else
{
if (FD_ISSET(getSocket(), &fdset)) return OFTrue;
}
return "unknown error code";
}
+
#include <stat.h>
#endif
+#include "dcmtk/ofstd/ofstd.h"
#include "dcmtk/dcmnet/diutil.h"
#include "dcmtk/dcmdata/dcdatset.h"
#include "dcmtk/dcmdata/dcfilefo.h"
}
return s;
}
+
+void DU_logSelectResult(int selectReturnValue)
+{
+ if (selectReturnValue < 0)
+ {
+#ifdef HAVE_WINSOCK_H
+ LPVOID errBuf = NULL;
+ OFString err;
+ // Obtain an error string from system error code
+ if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), OFreinterpret_cast(LPTSTR, &errBuf), 0, NULL) > 0)
+ {
+ err = (OFstatic_cast(const char *, errBuf));
+ } else
+ err = "Unknown Winsock error code";
+ LocalFree(errBuf);
+ DCMNET_DEBUG("Windows Socket error while waiting for incoming network data: " << err);
+#else
+ // POSIX interface
+ char buf[256];
+ DCMNET_DEBUG("Error while waiting for incoming network data: " << OFStandard::strerror(errno, buf, 256));
+#endif
+ }
+ else if (selectReturnValue == 0)
+ {
+ DCMNET_DEBUG("Timeout while waiting for incoming network data");
+ }
+ else
+ {
+ // This function is only meant to be used for return values <= 0, handle
+ // normal case anyway
+ DCMNET_TRACE("Receiving data via select()");
+ }
+}
/*
*
- * Copyright (C) 2011-2015, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
// implementation of the internal class/struct for a single transfer entry
-DcmStorageSCU::TransferEntry::TransferEntry(const OFString &filename,
+DcmStorageSCU::TransferEntry::TransferEntry(const OFFilename &filename,
const E_FileReadMode readMode,
const OFString &sopClassUID,
const OFString &sopInstanceUID,
}
-OFCondition DcmStorageSCU::addDicomFile(const OFString &filename,
+OFCondition DcmStorageSCU::addDicomFile(const OFFilename &filename,
const E_FileReadMode readMode,
const OFBool checkValues)
{
OFCondition status = EC_IllegalParameter;
// check for non-empty filename
- if (!filename.empty())
+ if (!filename.isEmpty())
{
DCMNET_DEBUG("adding DICOM file '" << filename << "'");
const size_t numInstances = TransferList.size();
}
-OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFString &filename,
+OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFFilename &filename,
const E_FileReadMode readMode,
const OFBool checkValues)
{
DCMNET_DEBUG("adding DICOM files referenced from '" << filename << "'");
// read the DICOMDIR file (always require meta-header to be present)
DcmFileFormat fileformat;
- OFCondition status = fileformat.loadFile(filename.c_str(), EXS_Unknown, EGL_noChange, DCM_MaxReadLength, ERM_fileOnly);
+ OFCondition status = fileformat.loadFile(filename, EXS_Unknown, EGL_noChange, DCM_MaxReadLength, ERM_fileOnly);
if (status.good())
{
DcmStack stack;
// do not use the DcmDirectoryRecord class, but access the data elements directly
DcmDataset *dataset = fileformat.getDataset();
- OFString dirName;
+ OFFilename dirName;
OFStandard::getDirNameFromPath(dirName, filename, OFFalse /* assumeDirName */);
// iterate over all items (directory records) where ReferencedFileID is present
while (dataset->search(DCM_ReferencedFileID, stack, ESM_afterStackTop, OFTrue).good())
// make sure that the dataset and element pointer are there
if (stack.card() > 1)
{
- OFString pathName, fileID, sopClassUID, sopInstanceUID, transferSyntaxUID;
+ OFFilename pathName;
+ OFString fileID, sopClassUID, sopInstanceUID, transferSyntaxUID;
// first, get the name of the referenced DICOM file
DcmElement *element = OFstatic_cast(DcmElement *, stack.top());
if (element != NULL)
if (status.good())
{
OFString tmpString;
+ const OFFilename tmpFilename(dicomToHostFilename(fileID, tmpString), pathName.usesWideChars() /*convert*/);
// consider that the value of ReferencedFileID is relative to the DICOMDIR
- OFStandard::combineDirAndFilename(pathName, dirName, dicomToHostFilename(fileID, tmpString),
- OFTrue /* allowEmptyDirName */);
+ OFStandard::combineDirAndFilename(pathName, dirName, tmpFilename, OFTrue /* allowEmptyDirName */);
// create a new entry ...
TransferEntry *entry = new TransferEntry(pathName, readMode, sopClassUID, sopInstanceUID, transferSyntaxUID);
if (entry != NULL)
DCMNET_DEBUG("successfully added SOP instance " << sopInstanceUID << " to the transfer list");
} else {
DCMNET_ERROR("cannot add DICOM file from DICOMDIR to the transfer list: "
- << (pathName.empty() ? fileID : pathName) << ": " << status.text());
+ << (pathName.isEmpty() ? fileID : pathName) << ": " << status.text());
}
} else {
DCMNET_ERROR("cannot add DICOM file from DICOMDIR with empty filename");
break;
}
// output debug information on the SOP instance to be sent
- if ((*CurrentTransferEntry)->Filename.empty())
+ if ((*CurrentTransferEntry)->Filename.isEmpty())
{
if ((*CurrentTransferEntry)->Dataset != NULL)
{
} else {
DCMNET_DEBUG("sending SOP instance from file: " << (*CurrentTransferEntry)->Filename);
// load SOP instance from DICOM file
- status = fileformat.loadFile((*CurrentTransferEntry)->Filename.c_str(), EXS_Unknown, EGL_noChange,
+ status = fileformat.loadFile((*CurrentTransferEntry)->Filename, EXS_Unknown, EGL_noChange,
DCM_MaxReadLength, (*CurrentTransferEntry)->FileReadMode);
- // do not store the dataset pointer in the transfer entry, because this pointer
- // will become invalid for the next iteration of this while-loop.
- dataset = fileformat.getDataset();
+ if (status.good())
+ {
+ // do not store the dataset pointer in the transfer entry, because this pointer
+ // will become invalid for the next iteration of this while-loop.
+ dataset = fileformat.getDataset();
+ } else {
+ DCMNET_ERROR("cannot send SOP instance from file: " << (*CurrentTransferEntry)->Filename
+ << ": " << status.text());
+ }
}
// send SOP instance to the peer using a C-STORE request message
if (status.good())
// ... remember that this SOP instance has already been sent
(*CurrentTransferEntry)->RequestSent = OFTrue;
// check whether we need to compact or delete the dataset
- if ((*CurrentTransferEntry)->Filename.empty() && ((*CurrentTransferEntry)->Dataset != NULL))
+ if ((*CurrentTransferEntry)->Filename.isEmpty() && ((*CurrentTransferEntry)->Dataset != NULL))
{
if ((*CurrentTransferEntry)->DatasetHandlingMode == HM_compactAfterSend)
{
}
-void DcmStorageSCU::notifySOPInstanceSent(const TransferEntry &transferEntry)
+void DcmStorageSCU::notifySOPInstanceSent(const TransferEntry & /*transferEntry*/)
{
// do nothing in the default implementation
}
{
DcmXfer orgXfer((*transferEntry)->TransferSyntaxUID.c_str());
stream << "Number : " << (++counter) << OFendl;
- if (!(*transferEntry)->Filename.empty())
+ if (!(*transferEntry)->Filename.isEmpty())
stream << "Filename : " << (*transferEntry)->Filename << OFendl;
stream << "SOP Instance : " << (*transferEntry)->SOPInstanceUID << OFendl;
stream << "SOP Class : " << (*transferEntry)->SOPClassUID << " = "
/*
*
- * Copyright (C) 1994-2012, OFFIS e.V.
+ * Copyright (C) 1994-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were partly developed by
**
**
** Algorithm:
-** Close the socket and free the memeory occupied by the network key
+** Close the socket and free the memory occupied by the network key
*/
OFCondition
DUL_DropNetwork(DUL_NETWORKKEY ** callerNetworkKey)
"", /* Called implementation class UID */
"", /* Called implementation vers name */
0, /* peer max pdu */
- NULL, /* Requested Extended Negotation List */
- NULL, /* Accepted Extended Negotation List */
+ NULL, /* Requested Extended Negotiation List */
+ NULL, /* Accepted Extended Negotiation List */
NULL, /* Requested User Identify Negotiation */
NULL, /* Accepted User Identify Negotiation */
OFFalse /* don't use Secure Transport Layer */
nfound = select((*network)->networkSpecific.TCP.listenSocket + 1,
&fdset, NULL, NULL, &timeout_val);
#endif
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
if (nfound > 0) {
if (FD_ISSET((*network)->networkSpecific.TCP.listenSocket, &fdset))
connected++;
nfound = select((*network)->networkSpecific.TCP.listenSocket + 1,
&fdset, NULL, NULL, &timeout_val);
#endif
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
if (nfound > 0) {
if (FD_ISSET((*network)->networkSpecific.TCP.listenSocket,
&fdset))
int sock;
struct sockaddr_in server;
- /* Create socket for internet type communication */
+ /* Create socket for Internet type communication */
(*key)->networkSpecific.TCP.port = *(int *) parameter;
(*key)->networkSpecific.TCP.listenSocket = socket(AF_INET, SOCK_STREAM, 0);
sock = (*key)->networkSpecific.TCP.listenSocket;
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
#endif
- listen(sock, PRV_LISTENBACKLOG);
+ /* Listen on the socket */
+ if (listen(sock, PRV_LISTENBACKLOG) < 0)
+ {
+ char buf[256];
+ OFString msg = "TCP Initialization Error: ";
+ msg += OFStandard::strerror(errno, buf, sizeof(buf));
+ return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
+ }
}
(*key)->networkSpecific.TCP.tLayer = new DcmTransportLayer((*key)->applicationFunction);
** Display the contents of the presentation context list
**
** Parameter Dictionary:
-** l Head of the list of various presentation conmtexts.
+** l Head of the list of various presentation contexts.
**
** Return Values:
**
/* clearPresentationContext
**
** Purpose:
-** Free the memory oocupied by the given presentation context.
+** Free the memory occupied by the given presentation context.
**
** Parameter Dictionary:
** l Head of list of the presentation contexts to be freed.
#include "dulstruc.h"
#include "dulpriv.h"
#include "dcmtk/dcmnet/dcmtrans.h"
+#include "dcmtk/dcmnet/diutil.h"
OFBool
DUL_dataWaiting(DUL_ASSOCIATIONKEY * callerAssociation, int timeout)
#else
nfound = select(s + 1, &fdset, NULL, NULL, &t);
#endif
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
if (nfound <= 0) assocWaiting = OFFalse;
else
{
/*
*
- * Copyright (C) 1994-2012, OFFIS e.V.
+ * Copyright (C) 1994-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were partly developed by
}
/* if after having counted the PDVs the length variable does not equal */
- /* 0, the PDV lenghts did not add up correctly. Something is fishy. */
+ /* 0, the PDV lengths did not add up correctly. Something is fishy. */
if (length != 0)
{
char buf[256];
Sint32 connectTimeout = dcmConnectionTimeout.get();
#ifdef HAVE_WINSOCK_H
- u_long arg = TRUE;
+ u_long arg = TRUE;
#else
- int flags = 0;
+ int flags = 0;
#endif
if (connectTimeout >= 0)
}
// depending on the socket mode, connect will block or return immediately
- int rc = connect(s, (struct sockaddr *) & server, sizeof(server));
+ int rc;
+ do {
+ rc = connect(s, (struct sockaddr *) & server, sizeof(server));
+ } while (rc == -1 && errno == EINTR);
#ifdef HAVE_WINSOCK_H
if (rc == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK)
timeout.tv_sec = connectTimeout;
timeout.tv_usec = 0;
- rc = select(s+1, NULL, &fdSet, NULL, &timeout);
+ do {
+ rc = select(s + 1, NULL, &fdSet, NULL, &timeout);
+ } while (rc == -1 && errno == EINTR);
+
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(rc);
+ }
// reset socket to blocking mode
#ifdef HAVE_WINSOCK_H
if (rc < 0)
{
- // an error other than timeout in non-blocking mode has occured,
+ // an error other than timeout in non-blocking mode has occurred,
// either in connect() or in select().
#ifdef HAVE_WINSOCK_H
(void) shutdown(s, 1 /* SD_SEND */);
/* because the current PDV's length can be greater than maxLength, we need */
/* to start another loop so that we are able to send data gradually. So, */
/* as long as this is the first iteration or length is greater than 0 and */
- /* at the same time no error occured, do the following */
+ /* at the same time no error occurred, do the following */
firstTrip = OFTrue;
while ((firstTrip || (length > 0)) && (cond.good())) {
/* indicate that the first iteration has been executed */
*PDULength = (*association)->nextPDULength;
/* check if the value in the length field of the PDU shows a legal value; */
- /* there is a maximum lenght for PDUs which shall be sent over the network. */
- /* the lenght of this PDU must not be greater than the specified maximum length. */
+ /* there is a maximum length for PDUs which shall be sent over the network. */
+ /* the length of this PDU must not be greater than the specified maximum length. */
/* (bugfix - thanks to B. Gorissen, Philips Medical Systems) */
if ((*PDUType == DUL_TYPEDATA) && (*PDULength > (*association)->maxPDVInput))
{
while (l > 0)
{
/* receive data from the network connection; wait until */
- /* we actually did receive data or an error occured */
+ /* we actually did receive data or an error occurred */
do
{
/* if DUL_NOBLOCK is specified as a blocking option, we only want to wait a certain
if (rtnLen != NULL)
*rtnLen += (unsigned long) bytesRead;
} else {
- /* in case we did not receive any data, an error must have occured; return a corresponding result value */
+ /* in case we did not receive any data, an error must have occurred; return a corresponding result value */
return DUL_NETWORKCLOSED;
}
}
** internalList Input list from which the two output lists
** are derived
** SCUSCPRoleList Role list (returned to the caller)
-** userContextList User context list (returend to the caller)
+** userContextList User context list (returned to the caller)
**
** Return Values:
**
/* findSCUSCPRole
**
** Purpose:
-** Search for a SCUSCP role list, given the abstarct syntax as the
+** Search for a SCUSCP role list, given the abstract syntax as the
** key.
**
** Parameter Dictionary:
/*
*
- * Copyright (C) 1994-2011, OFFIS e.V.
+ * Copyright (C) 1994-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were partly developed by
#include "dcmtk/ofstd/ofstdinc.h"
#include "dcmtk/ofstd/ofstream.h"
+#include "dcmtk/ofstd/ofstd.h" // for OFStandard::safeSubtract() and safeAdd()
#include "dcmtk/dcmnet/dicom.h"
#include "dcmtk/dcmnet/cond.h"
#include "dcmtk/dcmnet/lst.h"
makeLengthError(const char *pdu, unsigned long bufSize, unsigned long minSize = 0,
unsigned long length = 0);
+static OFCondition
+makeUnderflowError(const char *pdu, unsigned long minuend, unsigned long subtrahend);
+
/* parseAssociate
**
** Purpose:
** buf Buffer holding the PDU in the stream format
** pduLength Length of the buffer
** assoc The Associate PDU to be extracted
-** (returend to the caller)
+** (returned to the caller)
**
** Return Values:
**
DCMNET_TRACE("Successfully parsed Presentation Context");
break;
case DUL_TYPEUSERINFO:
+ // parse user info, which can contain several sub-items like User
+ // Identity Negotiation or SOP Class Extended Negotiation
cond = parseUserInfo(&assoc->userInfo, buf, &itemLength, assoc->type, pduLength);
if (cond.bad())
return cond;
default:
cond = parseDummy(buf, &itemLength, pduLength);
buf += itemLength;
- pduLength -= itemLength;
+ if (!OFStandard::safeSubtract(pduLength, itemLength, pduLength))
+ return makeUnderflowError("unknown item type", pduLength, itemLength);
break;
}
}
default:
cond = parseDummy(buf, &length, presentationLength);
buf += length;
- presentationLength -= length;
+ if (!OFStandard::safeSubtract(presentationLength, length, presentationLength))
+ return makeUnderflowError("unknown presentation context type", presentationLength, length);
break;
}
}
unsigned char *buf,
unsigned long *itemLength,
unsigned char typeRQorAC,
- unsigned long availData)
+ unsigned long availData /* bytes left for in this PDU */)
{
unsigned short userLength;
unsigned long length;
SOPClassExtendedNegotiationSubItem *extNeg = NULL;
UserIdentityNegotiationSubItem *usrIdent = NULL;
- // The minimum allowed size is 4 byte, else we read past the buffer end
+ // minimum allowed size is 4 byte (case where the length of the user data is 0),
+ // else we read past the buffer end
if (availData < 4)
return makeLengthError("user info", availData, 4);
+ // skip item type (50H) field
userInfo->type = *buf++;
+ // skip unused ("reserved") field
userInfo->rsv1 = *buf++;
+ // get and remeber announced length of user data
EXTRACT_SHORT_BIG(buf, userInfo->length);
+ // .. and skip over the two length field bytes
buf += 2;
+ // userLength contains announced length of full user item structure,
+ // will be used here to count down the available data later
userLength = userInfo->length;
+ // itemLength contains full length of the user item including the 4 bytes extra header (type, reserved + 2 for length)
*itemLength = userLength + 4;
- // Does this item claim to be larger than the available data?
- if (availData - 4 < userLength)
+ // does this item claim to be larger than the available data?
+ if (availData < *itemLength)
return makeLengthError("user info", availData, 0, userLength);
DCMNET_TRACE("Parsing user info field ("
<< STD_NAMESPACE hex << STD_NAMESPACE setfill('0') << STD_NAMESPACE setw(2) << (unsigned int)userInfo->type
<< STD_NAMESPACE dec << "), Length: " << (unsigned long)userInfo->length);
+ // parse through different types of user items as long as we have data
while (userLength > 0) {
DCMNET_TRACE("Parsing remaining " << (long)userLength << " bytes of User Information" << OFendl
<< "Next item type: "
case DUL_TYPEASYNCOPERATIONS:
cond = parseDummy(buf, &length, userLength);
buf += length;
- userLength -= (unsigned short) length;
+ if (!OFStandard::safeSubtract(userLength, OFstatic_cast(short unsigned int, length), userLength))
+ return makeLengthError("asynchronous operation user item type", userLength, length);
break;
case DUL_TYPESCUSCPROLE:
role = (PRV_SCUSCPROLE*)malloc(sizeof(PRV_SCUSCPROLE));
userLength -= (unsigned short) length;
break;
default:
- cond = parseDummy(buf, &length, userLength);
+ // we hit an unknown user item that is not defined in the standard
+ // or still unknown to DCMTK
+ cond = parseDummy(buf, &length /* returns bytes "handled" by parseDummy */, userLength /* data available in bytes for user item */);
+ // skip the bytes read
buf += length;
- userLength -= (unsigned short) length;
+ // subtract bytes of parsed data from available data bytes
+ if (!OFStandard::safeSubtract(userLength, OFstatic_cast(unsigned short, length), userLength))
+ return makeUnderflowError("unknown user item", userLength, length);
break;
}
}
** User Length
**
** Parameter Dictionary:
-** buf The buffer that is to be parsed
-** itemLength Length of structure extracted.
+** buf The buffer that is to be parsed (input/output value)
+** itemLength Length of structure extracted (output value)
+* availData Number of bytes announced to be available for this sub item (input value)
**
** Return Values:
**
static OFCondition
parseDummy(unsigned char *buf, unsigned long *itemLength, unsigned long availData)
{
- unsigned short
- userLength;
-
// Is there enough data for the length field?
if (availData < 4)
return makeLengthError("dummy item", availData, 4);
+ // Get announced length of this sub-item and skip over the bytes read
+ // 1 byte item-type (e.g. 58H for User Identity Negotiation), 1 byte reserved,
+ // and 2 bytes length field
+ unsigned short userLength;
buf++;
buf++;
EXTRACT_SHORT_BIG(buf, userLength);
buf += 2;
+ // Return full length (announced + 4 extra bytes)
+ *itemLength = userLength + 4;
+
// Is there less data than the length field claims there is?
if (availData - 4 < userLength)
return makeLengthError("dummy item", availData, 0, userLength);
- *itemLength = userLength + 4;
return EC_Normal;
}
if (role->length - 4 < UIDLength)
return makeLengthError("SCU-SCP role list UID", role->length, 0, UIDLength);
- (void) memcpy(role->SOPClassUID, buf, UIDLength);
- role->SOPClassUID[UIDLength] = '\0';
+ OFStandard::strlcpy(role->SOPClassUID, (char*)buf, sizeof(role->SOPClassUID));
+ if (UIDLength > sizeof(role->SOPClassUID))
+ {
+ DCMNET_WARN("Provided role SOP Class UID " << role->SOPClassUID << " is shorter than its announced length " << UIDLength << " (ignored)");
+ }
buf += UIDLength;
role->SCURole = *buf++;
role->SCPRole = *buf++;
** Return Values:
**
*/
-
static OFCondition
parseExtNeg(SOPClassExtendedNegotiationSubItem* extNeg, unsigned char *buf,
unsigned long *length, unsigned long availData)
return ret;
}
+/* makeUnderflowError
+ *
+ * This function is used to generate the OFCondition code if an underflow
+ * computation has been detected.
+ *
+ * @param pdu The name of the field or PDU which caused the invalid computation
+ * @param minuend The field (probably length) subtracted from
+ * @param subtrahend The number subtracted from minuend
+ */
+static OFCondition
+makeUnderflowError(const char *pdu, unsigned long minuend,
+ unsigned long subtrahend)
+{
+ OFStringStream stream;
+ stream << "DUL Illegal " << pdu << ". Got " << minuend << " bytes of data and told to subtrat " << subtrahend << " bytes of data";
+ stream << "." << OFStringStream_ends;
+
+ OFCondition ret;
+ OFSTRINGSTREAM_GETSTR(stream, tmpString)
+ ret = makeDcmnetCondition(DULC_INCORRECTBUFFERLENGTH, OF_error, tmpString);
+ OFSTRINGSTREAM_FREESTR(tmpString)
+ return ret;
+}
+
+
/* trim_trailing_spaces
**
** Purpose:
/*
*
- * Copyright (C) 2009-2015, OFFIS e.V.
+ * Copyright (C) 2009-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmnet/scp.h"
-#include "dcmtk/dcmnet/diutil.h"
#include "dcmtk/dcmnet/assoc.h"
#include "dcmtk/dcmdata/dcostrmf.h" /* for class DcmOutputFileStream */
// -- C-FIND --
-OFCondition DcmSCP::handleFINDRequest(T_DIMSE_C_FindRQ &reqMessage,
- const T_ASC_PresentationContextID presID,
- DcmDataset *&reqDataset)
+OFCondition DcmSCP::receiveFINDRequest(T_DIMSE_C_FindRQ &reqMessage,
+ const T_ASC_PresentationContextID presID,
+ DcmDataset *&reqDataset)
{
// Do some basic validity checks
if (m_assoc == NULL)
// -- C-MOVE --
-OFCondition DcmSCP::handleMOVERequest(T_DIMSE_C_MoveRQ &reqMessage,
- const T_ASC_PresentationContextID presID,
- DcmDataset *&reqDataset,
- OFString &moveDest)
+OFCondition DcmSCP::receiveMOVERequest(T_DIMSE_C_MoveRQ &reqMessage,
+ const T_ASC_PresentationContextID presID,
+ DcmDataset *&reqDataset,
+ OFString &moveDest)
{
// Do some basic validity checks
if (m_assoc == NULL)
// -- N-ACTION --
-OFCondition DcmSCP::handleACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage,
- const T_ASC_PresentationContextID presID,
- DcmDataset *&reqDataset,
- Uint16 &actionTypeID)
+OFCondition DcmSCP::receiveACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage,
+ const T_ASC_PresentationContextID presID,
+ DcmDataset *&reqDataset,
+ Uint16 &actionTypeID)
{
// Do some basic validity checks
if (m_assoc == NULL)
// ----------------------------------------------------------------------------
-OFBool DcmSCP::checkCalledAETitleAccepted(const OFString& calledAETitle)
+OFBool DcmSCP::checkCalledAETitleAccepted(const OFString& /*calledAETitle*/)
{
return OFTrue;
}
// ----------------------------------------------------------------------------
-OFBool DcmSCP::checkCallingAETitleAccepted(const OFString& callingAETitle)
+OFBool DcmSCP::checkCallingAETitleAccepted(const OFString& /*callingAETitle*/)
{
return OFTrue;
}
// ----------------------------------------------------------------------------
-OFBool DcmSCP::checkCallingHostAccepted(const OFString& hostOrIP)
+OFBool DcmSCP::checkCallingHostAccepted(const OFString& /*hostOrIP*/)
{
return OFTrue;
}
/*
*
- * Copyright (C) 2008-2014, OFFIS e.V.
+ * Copyright (C) 2008-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
// Sends C-STORE request to another DICOM application
OFCondition DcmSCU::sendSTORERequest(const T_ASC_PresentationContextID presID,
- const OFString &dicomFile,
+ const OFFilename &dicomFile,
DcmDataset *dataset,
Uint16 &rspStatusCode,
const OFString &moveOriginatorAETitle,
req->MessageID = nextMessageID();
/* Load file if necessary */
DcmFileFormat *fileformat = NULL;
- if (!dicomFile.empty())
+ if (!dicomFile.isEmpty())
{
fileformat = new DcmFileFormat();
if (fileformat == NULL)
return EC_MemoryExhausted;
- cond = fileformat->loadFile(dicomFile.c_str());
+ cond = fileformat->loadFile(dicomFile);
if (cond.bad())
{
delete fileformat;
if (sopClassUID.empty() || sopInstanceUID.empty() || ((pcid == 0) && (xferSyntax == EXS_Unknown)))
{
DCMNET_ERROR("Cannot send SOP instance, missing information:");
- if (!dicomFile.empty())
+ if (!dicomFile.isEmpty())
DCMNET_ERROR(" DICOM Filename : " << dicomFile);
DCMNET_ERROR(" SOP Class UID : " << sopClassUID);
DCMNET_ERROR(" SOP Instance UID : " << sopInstanceUID);
OFString xferName = xfer.getXferName();
DCMNET_ERROR("No presentation context found for sending C-STORE with SOP Class / Transfer Syntax: "
<< sopClassName << " / " << xferName);
+ delete fileformat;
return DIMSE_NOVALIDPRESENTATIONCONTEXTID;
}
}
OFString filename = createStorageFilename(incomingObject);
+ if (OFStandard::fileExists(filename))
+ {
+ DCMNET_WARN("DICOM file already exists, overwriting: " << filename);
+ }
DcmFileFormat dcmff(incomingObject, OFFalse /* do not copy but take ownership */);
- result = dcmff.saveFile(filename.c_str());
+ result = dcmff.saveFile(filename);
if (result.good())
{
E_TransferSyntax xferSyntax;
}
OFCondition DcmSCU::handleSTORERequestFile(T_ASC_PresentationContextID *presID,
- const OFString& filename,
- T_DIMSE_C_StoreRQ* request)
+ const OFString &filename,
+ T_DIMSE_C_StoreRQ *request)
{
if (filename.empty())
return EC_IllegalParameter;
delete filestream;
if (cond != EC_Normal)
{
- unlink(filename.c_str());
+ OFStandard::deleteFile(filename);
}
DCMNET_DEBUG("Received dataset on presentation context " << OFstatic_cast(unsigned int, *presID));
}
OFCondition DcmSCU::ignoreSTORERequest(T_ASC_PresentationContextID presID,
- const T_DIMSE_C_StoreRQ& request)
+ const T_DIMSE_C_StoreRQ &request)
{
/* We cannot create the filestream, so ignore the incoming dataset and return an out-of-resources error to the SCU */
}
-void DcmSCU::notifyInstanceStored(const OFString& filename,
- const OFString& sopClassUID,
- const OFString& sopInstanceUID) const
+void DcmSCU::notifyInstanceStored(const OFString &filename,
+ const OFString &sopClassUID,
+ const OFString &sopInstanceUID) const
{
DCMNET_DEBUG("Stored instance to disk:");
DCMNET_DEBUG(" Filename: " << filename);
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \
../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \
../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \
../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \
../include/dcmtk/dcmnet/dccfprmp.h \
- ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/scu.h
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h \
+ ../include/dcmtk/dcmnet/scu.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
dcmmklut.o: dcmmklut.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h \
../../dcmimgle/include/dcmtk/dcmimgle/digsdfn.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmnet/include/dcmtk/dcmnet/extneg.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../include/dcmtk/dcmpstat/dvpsgal.h ../include/dcmtk/dcmpstat/dvpscul.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmpstat/dvpscf.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpsovl.h \
../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../dcmsr/include/dcmtk/dcmsr/dsdefine.h \
../../dcmsr/include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
+ ../../dcmsr/include/dcmtk/dcmsr/dsrposcn.h \
../../dcmsr/include/dcmtk/dcmsr/dsrtnant.h \
../../dcmsr/include/dcmtk/dcmsr/dsrdoctn.h \
../../dcmsr/include/dcmtk/dcmsr/dsrcodvl.h \
../../dcmsr/include/dcmtk/dcmsr/dsrimgse.h \
../../dcmsr/include/dcmtk/dcmsr/dsrwavvl.h \
../../dcmsr/include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmsr/include/dcmtk/dcmsr/dsrrtpl.h \
../../dcmsr/include/dcmtk/dcmsr/dsrctpl.h \
../../dcmsr/include/dcmtk/dcmsr/dsrsoprf.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsgl.h
dvpscf.o: dvpscf.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h
dvpscul.o: dvpscul.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsril.h ../include/dcmtk/dcmpstat/dvpstyp.h \
../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsri.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsril.h ../include/dcmtk/dcmpstat/dvpsri.h
dvpsfs.o: dvpsfs.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsgr.h
dvpsgal.o: dvpsgal.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsgr.h ../include/dcmtk/dcmpstat/dvpsri.h
dvpsgl.o: dvpsgl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsdef.h
dvpsgll.o: dvpsgll.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsdef.h ../include/dcmtk/dcmpstat/dvpsgal.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../include/dcmtk/dcmpstat/dvpsdef.h
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpstyp.h
dvpshlp.o: dvpshlp.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
dvpsib.o: dvpsib.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsdef.h
dvpsovl.o: dvpsovl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
dvpspl.o: dvpspl.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmpstat/dvpspr.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpsovl.h \
../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsgll.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \
../include/dcmtk/dcmpstat/dvpsdef.h
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpstyp.h
dvpsvl.o: dvpsvl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmpstat/dvpssv.h ../include/dcmtk/dcmpstat/dvpsril.h \
../include/dcmtk/dcmpstat/dvpsdef.h ../include/dcmtk/dcmpstat/dvpsri.h
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
dvpsvw.o: dvpsvw.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmpstat/dvpsvw.h ../include/dcmtk/dcmpstat/dpdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
dvpsvwl.o: dvpsvwl.cc ../../config/include/dcmtk/config/osconfig.h \
../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../dcmnet/include/dcmtk/dcmnet/cond.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
- ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h
+ ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/diutil.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \
+ ../../dcmnet/include/dcmtk/dcmnet/lst.h \
+ ../../dcmnet/include/dcmtk/dcmnet/assoc.h
#include "dcmtk/dcmdata/dcuid.h"
#include "dcmtk/dcmnet/dcompat.h" /* compatability routines */
#include "dcmtk/dcmnet/dul.h"
+#include "dcmtk/dcmnet/diutil.h"
#define OFFIS_CONSOLE_APPLICATION "msgserv"
nfound = select(s + 1, &fdset, NULL, NULL, &t);
#endif
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
if (nfound > 0)
{
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../dcmnet/include/dcmtk/dcmnet/cond.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3
SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4
SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5
+TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6
RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67
SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1
SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2
RadiopharmaceuticalRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
+AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128
DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2
DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
+RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10
GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1
ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1
ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1
\section copyright COPYRIGHT
-Copyright (C) 1993-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 1993-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/config.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/dimse.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/assoc.h \
../../dcmnet/include/dcmtk/dcmnet/lst.h \
(strcmp(SOPClassUID, UID_SpectaclePrescriptionReportStorage) == 0) ||
(strcmp(SOPClassUID, UID_MacularGridThicknessAndVolumeReportStorage) == 0) ||
(strcmp(SOPClassUID, UID_ImplantationPlanSRDocumentStorage) == 0) ||
- (strcmp(SOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) == 0))
+ (strcmp(SOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) == 0) ||
+ (strcmp(SOPClassUID, UID_AcquisitionContextSRStorage) == 0))
{
OFString string;
OFString description = "unknown SR";
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdvhs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpsss.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \
../include/dcmtk/dcmrt/seq/drtcis.h \
../include/dcmtk/dcmrt/seq/drtrdros.h \
../include/dcmtk/dcmrt/seq/drtrwvms.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrfors.h \
../include/dcmtk/dcmrt/seq/drtrsts.h \
../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps.h \
../include/dcmtk/dcmrt/seq/drtrfgs.h \
../include/dcmtk/dcmrt/seq/drttsmds.h ../include/dcmtk/dcmrt/drtionpl.h \
../include/dcmtk/dcmrt/seq/drtibs.h ../include/dcmtk/dcmrt/seq/drtas6.h \
../include/dcmtk/dcmrt/seq/drtiblds.h \
- ../include/dcmtk/dcmrt/seq/drtibls.h \
+ ../include/dcmtk/dcmrt/seq/drtibls.h ../include/dcmtk/dcmrt/seq/drtbss.h \
../include/dcmtk/dcmrt/seq/drticps.h \
../include/dcmtk/dcmrt/seq/drtiwps.h \
../include/dcmtk/dcmrt/seq/drtlsds6.h \
/*
*
- * Copyright (C) 2012, OFFIS e.V.
+ * Copyright (C) 2012-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/** set automatically calculated histogram window.
* possibly active VOI LUT is implicitly disabled.
*
- ** @param thresh threshhold value specifying percentage of histogram border which
- * shall be ignored (defaut: 5%).
+ ** @param thresh threshold value specifying percentage of histogram border which
+ * shall be ignored (default: 5%).
*
* @return EC_Normal if successful, else an error code
*/
* Hide DRTImageIOD::read(). DicomImage() doesn't allow the dataset that was
* used for loading the image to be deleted. Thus, read() cannot work.
*/
- virtual OFCondition read(DcmItem &dataset)
+ virtual OFCondition read(DcmItem & /*dataset*/)
{
return EC_IllegalCall;
}
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDoseIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence
#include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence
+#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence
#include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence
#include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence
#include "dcmtk/dcmrt/seq/drtdvhs.h" // for DVHSequence
#include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence
#include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence
#include "dcmtk/dcmrt/seq/drtpsss.h" // for PredecessorStructureSetSequence
+#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence
#include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrcs.h" // for ROIContourSequence
#include "dcmtk/dcmrt/seq/drtrdros.h" // for RTDoseROISequence
*/
virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const;
+ /** get ConsultingPhysicianName (0008,009c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const;
+
/** get ContentDate (0008,0023)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
virtual OFCondition getStationName(OFString &value, const signed long pos = 0) const;
+ /** get StereoPairsPresent (0022,0028)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getStereoPairsPresent(OFString &value, const signed long pos = 0) const;
+
/** get StructureSetDate (3006,0008)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const
{ return ConsentForClinicalTrialUseSequence; }
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return reference to sequence element
+ */
+ DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence()
+ { return ConsultingPhysicianIdentificationSequence; }
+
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return const reference to sequence element
+ */
+ const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const
+ { return ConsultingPhysicianIdentificationSequence; }
+
/** get ContributingEquipmentSequence (0018,a001)
* @return reference to sequence element
*/
const DRTPredecessorStructureSetSequence &getPredecessorStructureSetSequence() const
{ return PredecessorStructureSetSequence; }
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return reference to sequence element
+ */
+ DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence()
+ { return PrivateDataElementCharacteristicsSequence; }
+
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return const reference to sequence element
+ */
+ const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const
+ { return PrivateDataElementCharacteristicsSequence; }
+
/** get ProcedureCodeSequence (0008,1032)
* @return reference to sequence element
*/
*/
virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue);
+ /** set ConsultingPhysicianName (0008,009c)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue);
+
/** set ContentDate (0008,0023)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DA) and VM (1) if enabled
*/
virtual OFCondition setStationName(const OFString &value, const OFBool check = OFTrue);
+ /** set StereoPairsPresent (0022,0028)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setStereoPairsPresent(const OFString &value, const OFBool check = OFTrue);
+
/** set StructureSetDate (3006,0008)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DA) and VM (1) if enabled
DcmPersonName ReferringPhysicianName;
/// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3
DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence;
+ /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3
+ DcmPersonName ConsultingPhysicianName;
+ /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3
+ DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence;
/// StudyID (0020,0010) vr=SH, vm=1, type=2
DcmShortString StudyID;
/// AccessionNumber (0008,0050) vr=SH, vm=1, type=2
DcmIntegerString NumberOfFrames;
/// FrameIncrementPointer (0028,0009) vr=AT, vm=1-n, type=1
DcmAttributeTag FrameIncrementPointer;
+ /// StereoPairsPresent (0022,0028) vr=CS, vm=1, type=3
+ DcmCodeString StereoPairsPresent;
// --- OverlayPlaneModule (U) ---
DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence;
/// ContentQualification (0018,9004) vr=CS, vm=1, type=3
DcmCodeString ContentQualification;
+ /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3
+ DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence;
// --- CommonInstanceReferenceModule (U) ---
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTImageIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence
#include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence
+#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcbars.h" // for ContrastBolusAdministrationRouteSequence
#include "dcmtk/dcmrt/seq/drtbas.h" // for ContrastBolusAgentSequence
#include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence
#include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence
#include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence
#include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence
+#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence
#include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrwvms.h" // for RealWorldValueMappingSequence
#include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence
*/
virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const;
+ /** get ConsultingPhysicianName (0008,009c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const;
+
/** get ContentDate (0008,0023)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
virtual OFCondition getStationName(OFString &value, const signed long pos = 0) const;
+ /** get StereoPairsPresent (0022,0028)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getStereoPairsPresent(OFString &value, const signed long pos = 0) const;
+
/** get StopTrim (0008,2143)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const
{ return ConsentForClinicalTrialUseSequence; }
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return reference to sequence element
+ */
+ DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence()
+ { return ConsultingPhysicianIdentificationSequence; }
+
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return const reference to sequence element
+ */
+ const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const
+ { return ConsultingPhysicianIdentificationSequence; }
+
/** get ContrastBolusAdministrationRouteSequence (0018,0014)
* @return reference to sequence element
*/
const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const
{ return PhysiciansReadingStudyIdentificationSequence; }
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return reference to sequence element
+ */
+ DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence()
+ { return PrivateDataElementCharacteristicsSequence; }
+
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return const reference to sequence element
+ */
+ const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const
+ { return PrivateDataElementCharacteristicsSequence; }
+
/** get ProcedureCodeSequence (0008,1032)
* @return reference to sequence element
*/
*/
virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue);
+ /** set ConsultingPhysicianName (0008,009c)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue);
+
/** set ContentDate (0008,0023)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DA) and VM (1) if enabled
*/
virtual OFCondition setStationName(const OFString &value, const OFBool check = OFTrue);
+ /** set StereoPairsPresent (0022,0028)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setStereoPairsPresent(const OFString &value, const OFBool check = OFTrue);
+
/** set StopTrim (0008,2143)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (IS) and VM (1) if enabled
DcmPersonName ReferringPhysicianName;
/// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3
DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence;
+ /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3
+ DcmPersonName ConsultingPhysicianName;
+ /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3
+ DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence;
/// StudyID (0020,0010) vr=SH, vm=1, type=2
DcmShortString StudyID;
/// AccessionNumber (0008,0050) vr=SH, vm=1, type=2
DcmIntegerString NumberOfFrames;
/// FrameIncrementPointer (0028,0009) vr=AT, vm=1-n, type=1
DcmAttributeTag FrameIncrementPointer;
+ /// StereoPairsPresent (0022,0028) vr=CS, vm=1, type=3
+ DcmCodeString StereoPairsPresent;
// --- DeviceModule (U) ---
DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence;
/// ContentQualification (0018,9004) vr=CS, vm=1, type=3
DcmCodeString ContentQualification;
+ /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3
+ DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence;
// --- CommonInstanceReferenceModule (U) ---
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence
#include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence
+#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence
#include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence
#include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence
#include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence
#include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence
#include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence
#include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence
+#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence
#include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrds.h" // for ReferencedDoseSequence
*/
virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const;
+ /** get ConsultingPhysicianName (0008,009c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const;
+
/** get ContentQualification (0018,9004)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const
{ return ConsentForClinicalTrialUseSequence; }
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return reference to sequence element
+ */
+ DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence()
+ { return ConsultingPhysicianIdentificationSequence; }
+
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return const reference to sequence element
+ */
+ const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const
+ { return ConsultingPhysicianIdentificationSequence; }
+
/** get ContributingEquipmentSequence (0018,a001)
* @return reference to sequence element
*/
const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const
{ return PhysiciansReadingStudyIdentificationSequence; }
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return reference to sequence element
+ */
+ DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence()
+ { return PrivateDataElementCharacteristicsSequence; }
+
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return const reference to sequence element
+ */
+ const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const
+ { return PrivateDataElementCharacteristicsSequence; }
+
/** get ProcedureCodeSequence (0008,1032)
* @return reference to sequence element
*/
*/
virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue);
+ /** set ConsultingPhysicianName (0008,009c)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue);
+
/** set ContentQualification (0018,9004)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
DcmPersonName ReferringPhysicianName;
/// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3
DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence;
+ /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3
+ DcmPersonName ConsultingPhysicianName;
+ /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3
+ DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence;
/// StudyID (0020,0010) vr=SH, vm=1, type=2
DcmShortString StudyID;
/// AccessionNumber (0008,0050) vr=SH, vm=1, type=2
DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence;
/// ContentQualification (0018,9004) vr=CS, vm=1, type=3
DcmCodeString ContentQualification;
+ /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3
+ DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence;
// --- CommonInstanceReferenceModule (U) ---
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonBeamsTreatmentRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtcdrs.h" // for CalculatedDoseReferenceSequence
#include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence
+#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence
#include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence
#include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence
#include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence
#include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence
#include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence
#include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence
+#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence
#include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrpphs.h" // for ReferencedPatientPhotoSequence
*/
virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const;
+ /** get ConsultingPhysicianName (0008,009c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const;
+
/** get ContentQualification (0018,9004)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const
{ return ConsentForClinicalTrialUseSequence; }
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return reference to sequence element
+ */
+ DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence()
+ { return ConsultingPhysicianIdentificationSequence; }
+
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return const reference to sequence element
+ */
+ const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const
+ { return ConsultingPhysicianIdentificationSequence; }
+
/** get ContributingEquipmentSequence (0018,a001)
* @return reference to sequence element
*/
const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const
{ return PhysiciansReadingStudyIdentificationSequence; }
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return reference to sequence element
+ */
+ DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence()
+ { return PrivateDataElementCharacteristicsSequence; }
+
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return const reference to sequence element
+ */
+ const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const
+ { return PrivateDataElementCharacteristicsSequence; }
+
/** get ProcedureCodeSequence (0008,1032)
* @return reference to sequence element
*/
*/
virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue);
+ /** set ConsultingPhysicianName (0008,009c)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue);
+
/** set ContentQualification (0018,9004)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
DcmPersonName ReferringPhysicianName;
/// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3
DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence;
+ /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3
+ DcmPersonName ConsultingPhysicianName;
+ /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3
+ DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence;
/// StudyID (0020,0010) vr=SH, vm=1, type=2
DcmShortString StudyID;
/// AccessionNumber (0008,0050) vr=SH, vm=1, type=2
DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence;
/// ContentQualification (0018,9004) vr=CS, vm=1, type=3
DcmCodeString ContentQualification;
+ /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3
+ DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence;
// --- CommonInstanceReferenceModule (U) ---
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence
#include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence
+#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence
#include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence
#include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence
#include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence
#include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence
#include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence
#include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence
+#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence
#include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrds.h" // for ReferencedDoseSequence
*/
virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const;
+ /** get ConsultingPhysicianName (0008,009c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const;
+
/** get ContentQualification (0018,9004)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const
{ return ConsentForClinicalTrialUseSequence; }
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return reference to sequence element
+ */
+ DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence()
+ { return ConsultingPhysicianIdentificationSequence; }
+
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return const reference to sequence element
+ */
+ const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const
+ { return ConsultingPhysicianIdentificationSequence; }
+
/** get ContributingEquipmentSequence (0018,a001)
* @return reference to sequence element
*/
const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const
{ return PhysiciansReadingStudyIdentificationSequence; }
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return reference to sequence element
+ */
+ DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence()
+ { return PrivateDataElementCharacteristicsSequence; }
+
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return const reference to sequence element
+ */
+ const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const
+ { return PrivateDataElementCharacteristicsSequence; }
+
/** get ProcedureCodeSequence (0008,1032)
* @return reference to sequence element
*/
*/
virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue);
+ /** set ConsultingPhysicianName (0008,009c)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue);
+
/** set ContentQualification (0018,9004)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
DcmPersonName ReferringPhysicianName;
/// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3
DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence;
+ /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3
+ DcmPersonName ConsultingPhysicianName;
+ /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3
+ DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence;
/// StudyID (0020,0010) vr=SH, vm=1, type=2
DcmShortString StudyID;
/// AccessionNumber (0008,0050) vr=SH, vm=1, type=2
DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence;
/// ContentQualification (0018,9004) vr=CS, vm=1, type=3
DcmCodeString ContentQualification;
+ /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3
+ DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence;
// --- CommonInstanceReferenceModule (U) ---
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTStructureSetIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence
#include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence
+#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence
#include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence
#include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence
#include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence
#include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence
#include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence
#include "dcmtk/dcmrt/seq/drtpsss.h" // for PredecessorStructureSetSequence
+#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence
#include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrcs.h" // for ROIContourSequence
#include "dcmtk/dcmrt/seq/drtrros.h" // for RTROIObservationsSequence
*/
virtual OFBool isClinicalTrialSeriesModulePresent(const OFBool complete = OFFalse);
+ /** check whether FrameOfReferenceModule (U) is present.
+ * By default, a module is reported as being present if at least one attribute
+ * from this module has a non-empty value.
+ * @param complete check for all mandatory attributes of this module if enabled
+ * @return OFTrue if module is present, OFFalse otherwise
+ */
+ virtual OFBool isFrameOfReferenceModulePresent(const OFBool complete = OFFalse);
+
/** check whether ApprovalModule (U) is present.
* By default, a module is reported as being present if at least one attribute
* from this module has a non-empty value.
*/
virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const;
+ /** get ConsultingPhysicianName (0008,009c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const;
+
/** get ContentQualification (0018,9004)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
virtual OFCondition getEthnicGroup(OFString &value, const signed long pos = 0) const;
+ /** get FrameOfReferenceUID (0020,0052)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getFrameOfReferenceUID(OFString &value, const signed long pos = 0) const;
+
/** get GantryID (0018,1008)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
virtual OFCondition getPixelPaddingValue(Uint16 &value, const unsigned long pos = 0) const;
+ /** get PositionReferenceIndicator (0020,1040)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getPositionReferenceIndicator(OFString &value, const signed long pos = 0) const;
+
/** get QualityControlSubject (0010,0200)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const
{ return ConsentForClinicalTrialUseSequence; }
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return reference to sequence element
+ */
+ DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence()
+ { return ConsultingPhysicianIdentificationSequence; }
+
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return const reference to sequence element
+ */
+ const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const
+ { return ConsultingPhysicianIdentificationSequence; }
+
/** get ContributingEquipmentSequence (0018,a001)
* @return reference to sequence element
*/
const DRTPredecessorStructureSetSequence &getPredecessorStructureSetSequence() const
{ return PredecessorStructureSetSequence; }
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return reference to sequence element
+ */
+ DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence()
+ { return PrivateDataElementCharacteristicsSequence; }
+
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return const reference to sequence element
+ */
+ const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const
+ { return PrivateDataElementCharacteristicsSequence; }
+
/** get ProcedureCodeSequence (0008,1032)
* @return reference to sequence element
*/
*/
virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue);
+ /** set ConsultingPhysicianName (0008,009c)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue);
+
/** set ContentQualification (0018,9004)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
virtual OFCondition setEthnicGroup(const OFString &value, const OFBool check = OFTrue);
+ /** set FrameOfReferenceUID (0020,0052)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setFrameOfReferenceUID(const OFString &value, const OFBool check = OFTrue);
+
/** set GantryID (0018,1008)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
*/
virtual OFCondition setPixelPaddingValue(const Uint16 value, const unsigned long pos = 0);
+ /** set PositionReferenceIndicator (0020,1040)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setPositionReferenceIndicator(const OFString &value, const OFBool check = OFTrue);
+
/** set QualityControlSubject (0010,0200)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
DcmPersonName ReferringPhysicianName;
/// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3
DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence;
+ /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3
+ DcmPersonName ConsultingPhysicianName;
+ /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3
+ DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence;
/// StudyID (0020,0010) vr=SH, vm=1, type=2
DcmShortString StudyID;
/// AccessionNumber (0008,0050) vr=SH, vm=1, type=2
/// PixelPaddingValue (0028,0120) vr=US/SS, vm=1, type=1C
DcmUnsignedShort PixelPaddingValue;
+ // --- FrameOfReferenceModule (U) ---
+
+ /// FrameOfReferenceUID (0020,0052) vr=UI, vm=1, type=1
+ DcmUniqueIdentifier FrameOfReferenceUID;
+ /// PositionReferenceIndicator (0020,1040) vr=LO, vm=1, type=2
+ DcmLongString PositionReferenceIndicator;
+
// --- StructureSetModule (M) ---
/// StructureSetLabel (3006,0002) vr=SH, vm=1, type=1
DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence;
/// ContentQualification (0018,9004) vr=CS, vm=1, type=3
DcmCodeString ContentQualification;
+ /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3
+ DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence;
// --- CommonInstanceReferenceModule (U) ---
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTTreatmentSummaryRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence
#include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence
#include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence
+#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence
#include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence
#include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence
#include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence
#include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence
#include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence
#include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence
+#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence
#include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence
#include "dcmtk/dcmrt/seq/drtrpphs.h" // for ReferencedPatientPhotoSequence
*/
virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const;
+ /** get ConsultingPhysicianName (0008,009c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const;
+
/** get ContentQualification (0018,9004)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const
{ return ConsentForClinicalTrialUseSequence; }
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return reference to sequence element
+ */
+ DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence()
+ { return ConsultingPhysicianIdentificationSequence; }
+
+ /** get ConsultingPhysicianIdentificationSequence (0008,009d)
+ * @return const reference to sequence element
+ */
+ const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const
+ { return ConsultingPhysicianIdentificationSequence; }
+
/** get ContributingEquipmentSequence (0018,a001)
* @return reference to sequence element
*/
const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const
{ return PhysiciansReadingStudyIdentificationSequence; }
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return reference to sequence element
+ */
+ DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence()
+ { return PrivateDataElementCharacteristicsSequence; }
+
+ /** get PrivateDataElementCharacteristicsSequence (0008,0300)
+ * @return const reference to sequence element
+ */
+ const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const
+ { return PrivateDataElementCharacteristicsSequence; }
+
/** get ProcedureCodeSequence (0008,1032)
* @return reference to sequence element
*/
*/
virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue);
+ /** set ConsultingPhysicianName (0008,009c)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue);
+
/** set ContentQualification (0018,9004)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
DcmPersonName ReferringPhysicianName;
/// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3
DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence;
+ /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3
+ DcmPersonName ConsultingPhysicianName;
+ /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3
+ DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence;
/// StudyID (0020,0010) vr=SH, vm=1, type=2
DcmShortString StudyID;
/// AccessionNumber (0008,0050) vr=SH, vm=1, type=2
DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence;
/// ContentQualification (0018,9004) vr=CS, vm=1, type=3
DcmCodeString ContentQualification;
+ /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3
+ DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence;
// --- CommonInstanceReferenceModule (U) ---
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTAssigningAgencyOrDepartmentCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for AssigningAgencyOrDepartmentCodeSequence (0040,003a)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTAdmittingDiagnosesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for AdmittingDiagnosesCodeSequence (0008,1084)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTAdditionalDrugSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for AdditionalDrugSequence (0018,002a)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTAssigningFacilitySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTApplicatorGeometrySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTAssigningJurisdictionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for AssigningJurisdictionCodeSequence (0040,0039)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTAdditionalRTROIIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
#include "dcmtk/dcmrt/seq/drtporcs.h" // for PurposeOfReferenceCodeSequence
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
// --- get DICOM sequence attributes ---
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
/** get PurposeOfReferenceCodeSequence (0040,a170)
* @return reference to sequence element
*/
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
/// PurposeOfReferenceCodeSequence (0040,a170) vr=SQ, vm=1, type=1
DRTPurposeOfReferenceCodeSequence PurposeOfReferenceCodeSequence;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTApplicatorSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTApplicatorSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTApplicatorSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTApplicatorSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTApplicationSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBrachyAccessoryDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTContrastBolusAgentSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ContrastBolusAgentSequence (0018,0012)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBrachyControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBlockSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBlockSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamLimitingDeviceLeafPairsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamLimitingDevicePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamLimitingDeviceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamLimitingDeviceSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamLimitingDeviceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamLimitingDeviceToleranceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBreedRegistryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for BreedRegistryCodeSequence (0010,2296)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBrachyReferencedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBreedRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTBlockSlabSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#ifndef DRTBSS_H
+#define DRTBSS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+
+
+/** Interface class for BlockSlabSequence (300a,0441)
+ */
+class DCMTK_DCMRT_EXPORT DRTBlockSlabSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get AccessoryCode (300a,00f9)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getAccessoryCode(OFString &value, const signed long pos = 0) const;
+
+ /** get BlockSlabNumber (300a,0443)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getBlockSlabNumber(Uint16 &value, const unsigned long pos = 0) const;
+
+ /** get BlockSlabThickness (300a,0442)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getBlockSlabThickness(OFString &value, const signed long pos = 0) const;
+
+ /** get BlockSlabThickness (300a,0442)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getBlockSlabThickness(Float64 &value, const unsigned long pos = 0) const;
+
+ // --- set DICOM attribute values ---
+
+ /** set AccessoryCode (300a,00f9)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setAccessoryCode(const OFString &value, const OFBool check = OFTrue);
+
+ /** set BlockSlabNumber (300a,0443)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setBlockSlabNumber(const Uint16 value, const unsigned long pos = 0);
+
+ /** set BlockSlabThickness (300a,0442)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setBlockSlabThickness(const OFString &value, const OFBool check = OFTrue);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// AccessoryCode (300a,00f9) vr=LO, vm=1, type=3
+ DcmLongString AccessoryCode;
+ /// BlockSlabNumber (300a,0443) vr=US, vm=1, type=1
+ DcmUnsignedShort BlockSlabNumber;
+ /// BlockSlabThickness (300a,0442) vr=DS, vm=1, type=3
+ DcmDecimalString BlockSlabThickness;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTBlockSlabSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTBlockSlabSequence(const DRTBlockSlabSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTBlockSlabSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ */
+ DRTBlockSlabSequence &operator=(const DRTBlockSlabSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ unsigned long getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const unsigned long num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const unsigned long num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const unsigned long num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const unsigned long pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const unsigned long pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTBeamDoseVerificationControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getAverageBeamDosePointSSD(Float32 &value, const unsigned long pos = 0) const;
+ /** get AverageBeamDosePointSourceToExternalContourSurfaceDistance (300a,0131)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getAverageBeamDosePointSourceToExternalContourSurfaceDistance(Float32 &value, const unsigned long pos = 0) const;
+
/** get CumulativeMetersetWeight (300a,0134)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setAverageBeamDosePointSSD(const Float32 value, const unsigned long pos = 0);
+ /** set AverageBeamDosePointSourceToExternalContourSurfaceDistance (300a,0131)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setAverageBeamDosePointSourceToExternalContourSurfaceDistance(const Float32 value, const unsigned long pos = 0);
+
/** set CumulativeMetersetWeight (300a,0134)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DS) and VM (1) if enabled
DcmFloatingPointSingle AverageBeamDosePointEquivalentDepth;
/// AverageBeamDosePointSSD (300a,008f) vr=FL, vm=1, type=2C
DcmFloatingPointSingle AverageBeamDosePointSSD;
+ /// AverageBeamDosePointSourceToExternalContourSurfaceDistance (300a,0131) vr=FL, vm=1, type=3
+ DcmFloatingPointSingle AverageBeamDosePointSourceToExternalContourSurfaceDistance;
/// CumulativeMetersetWeight (300a,0134) vr=DS, vm=1, type=1
DcmDecimalString CumulativeMetersetWeight;
/// ReferencedControlPointIndex (300c,00f0) vr=IS, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTContrastBolusAdministrationRouteSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
#include "dcmtk/dcmrt/seq/drtads.h" // for AdditionalDrugSequence
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ContrastBolusAdministrationRouteSequence (0018,0014)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
// --- get DICOM sequence attributes ---
/** get AdditionalDrugSequence (0018,002a)
const DRTAdditionalDrugSequence &getAdditionalDrugSequence() const
{ return AdditionalDrugSequence; }
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
DRTAdditionalDrugSequence AdditionalDrugSequence;
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTConceptCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ConceptCodeSequence (0040,a168)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTConsentForClinicalTrialUseSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTContributingEquipmentSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTChannelSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTContentItemModifierSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTContourImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTConceptNameCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ConceptNameCodeSequence (0040,a043)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTCorrectedParameterSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTConsultingPhysicianIdentificationSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#ifndef DRTCPIS_H
+#define DRTCPIS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtics.h" // for InstitutionCodeSequence
+#include "dcmtk/dcmrt/seq/drtpics.h" // for PersonIdentificationCodeSequence
+
+
+/** Interface class for ConsultingPhysicianIdentificationSequence (0008,009d)
+ */
+class DCMTK_DCMRT_EXPORT DRTConsultingPhysicianIdentificationSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get InstitutionAddress (0008,0081)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getInstitutionAddress(OFString &value, const signed long pos = 0) const;
+
+ /** get InstitutionName (0008,0080)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getInstitutionName(OFString &value, const signed long pos = 0) const;
+
+ /** get PersonAddress (0040,1102)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const;
+
+ /** get PersonTelecomInformation (0040,1104)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const;
+
+ /** get PersonTelephoneNumbers (0040,1103)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonTelephoneNumbers(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get InstitutionCodeSequence (0008,0082)
+ * @return reference to sequence element
+ */
+ DRTInstitutionCodeSequence &getInstitutionCodeSequence()
+ { return InstitutionCodeSequence; }
+
+ /** get InstitutionCodeSequence (0008,0082)
+ * @return const reference to sequence element
+ */
+ const DRTInstitutionCodeSequence &getInstitutionCodeSequence() const
+ { return InstitutionCodeSequence; }
+
+ /** get PersonIdentificationCodeSequence (0040,1101)
+ * @return reference to sequence element
+ */
+ DRTPersonIdentificationCodeSequence &getPersonIdentificationCodeSequence()
+ { return PersonIdentificationCodeSequence; }
+
+ /** get PersonIdentificationCodeSequence (0040,1101)
+ * @return const reference to sequence element
+ */
+ const DRTPersonIdentificationCodeSequence &getPersonIdentificationCodeSequence() const
+ { return PersonIdentificationCodeSequence; }
+
+ // --- set DICOM attribute values ---
+
+ /** set InstitutionAddress (0008,0081)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (ST) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setInstitutionAddress(const OFString &value, const OFBool check = OFTrue);
+
+ /** set InstitutionName (0008,0080)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setInstitutionName(const OFString &value, const OFBool check = OFTrue);
+
+ /** set PersonAddress (0040,1102)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (ST) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue);
+
+ /** set PersonTelecomInformation (0040,1104)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue);
+
+ /** set PersonTelephoneNumbers (0040,1103)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonTelephoneNumbers(const OFString &value, const OFBool check = OFTrue);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// InstitutionAddress (0008,0081) vr=ST, vm=1, type=3
+ DcmShortText InstitutionAddress;
+ /// InstitutionCodeSequence (0008,0082) vr=SQ, vm=1, type=1C
+ DRTInstitutionCodeSequence InstitutionCodeSequence;
+ /// InstitutionName (0008,0080) vr=LO, vm=1, type=1C
+ DcmLongString InstitutionName;
+ /// PersonAddress (0040,1102) vr=ST, vm=1, type=3
+ DcmShortText PersonAddress;
+ /// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1
+ DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence;
+ /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3
+ DcmLongText PersonTelecomInformation;
+ /// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3
+ DcmLongString PersonTelephoneNumbers;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTConsultingPhysicianIdentificationSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTConsultingPhysicianIdentificationSequence(const DRTConsultingPhysicianIdentificationSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTConsultingPhysicianIdentificationSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ */
+ DRTConsultingPhysicianIdentificationSequence &operator=(const DRTConsultingPhysicianIdentificationSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ unsigned long getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const unsigned long num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const unsigned long num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const unsigned long num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const unsigned long pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const unsigned long pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getDoseRateSet(Float64 &value, const unsigned long pos = 0) const;
+ /** get ExternalContourEntryPoint (300a,0133)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getExternalContourEntryPoint(Float32 &value, const unsigned long pos = 0) const;
+
/** get GantryAngle (300a,011e)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getPatientSupportRotationDirection(OFString &value, const signed long pos = 0) const;
+ /** get SourceToExternalContourDistance (300a,0132)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getSourceToExternalContourDistance(Float32 &value, const unsigned long pos = 0) const;
+
/** get SourceToSurfaceDistance (300a,0130)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setDoseRateSet(const OFString &value, const OFBool check = OFTrue);
+ /** set ExternalContourEntryPoint (300a,0133)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=3
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setExternalContourEntryPoint(const Float32 value, const unsigned long pos = 0);
+
/** set GantryAngle (300a,011e)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DS) and VM (1) if enabled
*/
OFCondition setPatientSupportRotationDirection(const OFString &value, const OFBool check = OFTrue);
+ /** set SourceToExternalContourDistance (300a,0132)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setSourceToExternalContourDistance(const Float32 value, const unsigned long pos = 0);
+
/** set SourceToSurfaceDistance (300a,0130)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DS) and VM (1) if enabled
DcmDecimalString CumulativeMetersetWeight;
/// DoseRateSet (300a,0115) vr=DS, vm=1, type=3
DcmDecimalString DoseRateSet;
+ /// ExternalContourEntryPoint (300a,0133) vr=FL, vm=3, type=3
+ DcmFloatingPointSingle ExternalContourEntryPoint;
/// GantryAngle (300a,011e) vr=DS, vm=1, type=1C
DcmDecimalString GantryAngle;
/// GantryPitchAngle (300a,014a) vr=FL, vm=1, type=3
DRTReferencedDoseReferenceSequenceInRTBeamsModule ReferencedDoseReferenceSequence;
/// ReferencedDoseSequence (300c,0080) vr=SQ, vm=1, type=1C
DRTReferencedDoseSequence ReferencedDoseSequence;
+ /// SourceToExternalContourDistance (300a,0132) vr=FL, vm=1, type=3
+ DcmFloatingPointSingle SourceToExternalContourDistance;
/// SourceToSurfaceDistance (300a,0130) vr=DS, vm=1, type=3
DcmDecimalString SourceToSurfaceDistance;
/// SurfaceEntryPoint (300a,012e) vr=DS, vm=3, type=3
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTContourSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTConversionSourceAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTChannelShieldSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTCodingSchemeIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTChannelSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ChannelSourceSequence (003a,0208)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDerivationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for DerivationCodeSequence (0008,9215)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTDeidentificationActionSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#ifndef DRTDIAS_H
+#define DRTDIAS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+
+
+/** Interface class for DeidentificationActionSequence (0008,0305)
+ */
+class DCMTK_DCMRT_EXPORT DRTDeidentificationActionSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get DeidentificationAction (0008,0307)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getDeidentificationAction(OFString &value, const signed long pos = 0) const;
+
+ /** get IdentifyingPrivateElements (0008,0306)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getIdentifyingPrivateElements(Uint16 &value, const unsigned long pos = 0) const;
+
+ // --- set DICOM attribute values ---
+
+ /** set DeidentificationAction (0008,0307)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setDeidentificationAction(const OFString &value, const OFBool check = OFTrue);
+
+ /** set IdentifyingPrivateElements (0008,0306)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1-n
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setIdentifyingPrivateElements(const Uint16 value, const unsigned long pos = 0);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// DeidentificationAction (0008,0307) vr=CS, vm=1, type=1
+ DcmCodeString DeidentificationAction;
+ /// IdentifyingPrivateElements (0008,0306) vr=US, vm=1-n, type=1
+ DcmUnsignedShort IdentifyingPrivateElements;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTDeidentificationActionSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTDeidentificationActionSequence(const DRTDeidentificationActionSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTDeidentificationActionSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ */
+ DRTDeidentificationActionSequence &operator=(const DRTDeidentificationActionSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ unsigned long getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const unsigned long num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const unsigned long num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const unsigned long num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const unsigned long pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const unsigned long pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDeidentificationMethodCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for DeidentificationMethodCodeSequence (0012,0064)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDICOMMediaRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDICOMRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for DeviceSequence (0050,0010)
*/
OFCondition getInterMarkerDistance(Float64 &value, const unsigned long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get Manufacturer (0008,0070)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setInterMarkerDistance(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set Manufacturer (0008,0070)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmLongString DeviceSerialNumber;
/// DeviceVolume (0050,0018) vr=DS, vm=1, type=3
DcmDecimalString DeviceVolume;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
/// InterMarkerDistance (0050,0019) vr=DS, vm=1, type=3
DcmDecimalString InterMarkerDistance;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// Manufacturer (0008,0070) vr=LO, vm=1, type=3
DcmLongString Manufacturer;
/// ManufacturerModelName (0008,1090) vr=LO, vm=1, type=3
DcmLongString ManufacturerModelName;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDigitalSignaturePurposeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for DigitalSignaturePurposeCodeSequence (0400,0401)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDigitalSignaturesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDVHSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTDVHReferencedROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTEncryptedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTEquivalentCodeSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#ifndef DRTECS_H
+#define DRTECS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+
+
+/** Interface class for EquivalentCodeSequence (0008,0121)
+ */
+class DCMTK_DCMRT_EXPORT DRTEquivalentCodeSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get CodeMeaning (0008,0104)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodeMeaning(OFString &value, const signed long pos = 0) const;
+
+ /** get CodeValue (0008,0100)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodeValue(OFString &value, const signed long pos = 0) const;
+
+ /** get CodingSchemeDesignator (0008,0102)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodingSchemeDesignator(OFString &value, const signed long pos = 0) const;
+
+ /** get CodingSchemeVersion (0008,0103)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCodingSchemeVersion(OFString &value, const signed long pos = 0) const;
+
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- set DICOM attribute values ---
+
+ /** set CodeMeaning (0008,0104)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodeMeaning(const OFString &value, const OFBool check = OFTrue);
+
+ /** set CodeValue (0008,0100)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodeValue(const OFString &value, const OFBool check = OFTrue);
+
+ /** set CodingSchemeDesignator (0008,0102)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodingSchemeDesignator(const OFString &value, const OFBool check = OFTrue);
+
+ /** set CodingSchemeVersion (0008,0103)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodingSchemeVersion(const OFString &value, const OFBool check = OFTrue);
+
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
+ DcmLongString CodeMeaning;
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
+ DcmShortString CodeValue;
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
+ DcmShortString CodingSchemeDesignator;
+ /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
+ DcmShortString CodingSchemeVersion;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTEquivalentCodeSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTEquivalentCodeSequence(const DRTEquivalentCodeSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTEquivalentCodeSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ */
+ DRTEquivalentCodeSequence &operator=(const DRTEquivalentCodeSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ unsigned long getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const unsigned long num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const unsigned long num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const unsigned long num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const unsigned long pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const unsigned long pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTExposureSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTFixationDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTFrameExtractionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTFractionGroupSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTFluenceMapSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTFractionStatusSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTGeneralAccessorySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTHL7StructuredDocumentReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIssuerOfAdmissionIDSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIssuerOfAccessionNumberSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonBeamLimitingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtbss.h" // for BlockSlabSequence
/** Interface class for IonBlockSequence (300a,03a6)
*/
OFCondition getMaterialID(OFString &value, const signed long pos = 0) const;
+ /** get NumberOfBlockSlabItems (300a,0440)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getNumberOfBlockSlabItems(OFString &value, const signed long pos = 0) const;
+
+ /** get NumberOfBlockSlabItems (300a,0440)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getNumberOfBlockSlabItems(Sint32 &value, const unsigned long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get BlockSlabSequence (300a,0441)
+ * @return reference to sequence element
+ */
+ DRTBlockSlabSequence &getBlockSlabSequence()
+ { return BlockSlabSequence; }
+
+ /** get BlockSlabSequence (300a,0441)
+ * @return const reference to sequence element
+ */
+ const DRTBlockSlabSequence &getBlockSlabSequence() const
+ { return BlockSlabSequence; }
+
// --- set DICOM attribute values ---
/** set AccessoryCode (300a,00f9)
*/
OFCondition setMaterialID(const OFString &value, const OFBool check = OFTrue);
+ /** set NumberOfBlockSlabItems (300a,0440)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (IS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setNumberOfBlockSlabItems(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
DcmIntegerString BlockNumber;
/// BlockNumberOfPoints (300a,0104) vr=IS, vm=1, type=1
DcmIntegerString BlockNumberOfPoints;
+ /// BlockSlabSequence (300a,0441) vr=SQ, vm=1, type=1C
+ DRTBlockSlabSequence BlockSlabSequence;
/// BlockThickness (300a,0100) vr=DS, vm=1, type=1
DcmDecimalString BlockThickness;
/// BlockTrayID (300a,00f5) vr=SH, vm=1, type=3
DcmFloatingPointSingle IsocenterToBlockTrayDistance;
/// MaterialID (300a,00e1) vr=SH, vm=1, type=2
DcmShortString MaterialID;
+ /// NumberOfBlockSlabItems (300a,0440) vr=IS, vm=1, type=3
+ DcmIntegerString NumberOfBlockSlabItems;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonControlPointDeliverySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getCumulativeMetersetWeight(Float64 &value, const unsigned long pos = 0) const;
+ /** get ExternalContourEntryPoint (300a,0133)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getExternalContourEntryPoint(Float32 &value, const unsigned long pos = 0) const;
+
/** get GantryAngle (300a,011e)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setCumulativeMetersetWeight(const OFString &value, const OFBool check = OFTrue);
+ /** set ExternalContourEntryPoint (300a,0133)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=3
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setExternalContourEntryPoint(const Float32 value, const unsigned long pos = 0);
+
/** set GantryAngle (300a,011e)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DS) and VM (1) if enabled
DcmIntegerString ControlPointIndex;
/// CumulativeMetersetWeight (300a,0134) vr=DS, vm=1, type=2
DcmDecimalString CumulativeMetersetWeight;
+ /// ExternalContourEntryPoint (300a,0133) vr=FL, vm=3, type=3
+ DcmFloatingPointSingle ExternalContourEntryPoint;
/// GantryAngle (300a,011e) vr=DS, vm=1, type=1C
DcmDecimalString GantryAngle;
/// GantryPitchAngle (300a,014a) vr=FL, vm=1, type=2C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTInstitutionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for InstitutionCodeSequence (0008,0082)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIconImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIssuerOfPatientIDQualifiersSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonRangeCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIssuerOfServiceEpisodeIDSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTIonWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTMultiplexedAudioChannelsDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTModifiedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTModalityLUTSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTMACParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTMotionSynchronizationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTMeasurementUnitsCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for MeasurementUnitsCodeSequence (0040,08ea)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTOriginalAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTOperatorIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const;
+ /** get PersonTelecomInformation (0040,1104)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const;
+
/** get PersonTelephoneNumbers (0040,1103)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue);
+ /** set PersonTelecomInformation (0040,1104)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue);
+
/** set PersonTelephoneNumbers (0040,1103)
* @param value value to be set (possibly multi-valued) or "" for no value
* @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled
DcmShortText PersonAddress;
/// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1
DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence;
+ /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3
+ DcmLongText PersonTelecomInformation;
/// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3
DcmLongString PersonTelephoneNumbers;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTOtherPatientIDsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTOverrideSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPatientBreedCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for PatientBreedCodeSequence (0010,2293)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ProcedureCodeSequence (0008,1032)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTProtocolContextSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTPrivateDataElementCharacteristicsSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#ifndef DRTPDECS_H
+#define DRTPDECS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtdias.h" // for DeidentificationActionSequence
+
+
+/** Interface class for PrivateDataElementCharacteristicsSequence (0008,0300)
+ */
+class DCMTK_DCMRT_EXPORT DRTPrivateDataElementCharacteristicsSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get BlockIdentifyingInformationStatus (0008,0303)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getBlockIdentifyingInformationStatus(OFString &value, const signed long pos = 0) const;
+
+ /** get NonidentifyingPrivateElements (0008,0304)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getNonidentifyingPrivateElements(Uint16 &value, const unsigned long pos = 0) const;
+
+ /** get PrivateCreatorReference (0008,0302)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPrivateCreatorReference(OFString &value, const signed long pos = 0) const;
+
+ /** get PrivateGroupReference (0008,0301)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPrivateGroupReference(Uint16 &value, const unsigned long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get DeidentificationActionSequence (0008,0305)
+ * @return reference to sequence element
+ */
+ DRTDeidentificationActionSequence &getDeidentificationActionSequence()
+ { return DeidentificationActionSequence; }
+
+ /** get DeidentificationActionSequence (0008,0305)
+ * @return const reference to sequence element
+ */
+ const DRTDeidentificationActionSequence &getDeidentificationActionSequence() const
+ { return DeidentificationActionSequence; }
+
+ // --- set DICOM attribute values ---
+
+ /** set BlockIdentifyingInformationStatus (0008,0303)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setBlockIdentifyingInformationStatus(const OFString &value, const OFBool check = OFTrue);
+
+ /** set NonidentifyingPrivateElements (0008,0304)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1-n
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setNonidentifyingPrivateElements(const Uint16 value, const unsigned long pos = 0);
+
+ /** set PrivateCreatorReference (0008,0302)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPrivateCreatorReference(const OFString &value, const OFBool check = OFTrue);
+
+ /** set PrivateGroupReference (0008,0301)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPrivateGroupReference(const Uint16 value, const unsigned long pos = 0);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// BlockIdentifyingInformationStatus (0008,0303) vr=CS, vm=1, type=1
+ DcmCodeString BlockIdentifyingInformationStatus;
+ /// DeidentificationActionSequence (0008,0305) vr=SQ, vm=1, type=3
+ DRTDeidentificationActionSequence DeidentificationActionSequence;
+ /// NonidentifyingPrivateElements (0008,0304) vr=US, vm=1-n, type=1C
+ DcmUnsignedShort NonidentifyingPrivateElements;
+ /// PrivateCreatorReference (0008,0302) vr=LO, vm=1, type=1
+ DcmLongString PrivateCreatorReference;
+ /// PrivateGroupReference (0008,0301) vr=US, vm=1, type=1
+ DcmUnsignedShort PrivateGroupReference;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTPrivateDataElementCharacteristicsSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTPrivateDataElementCharacteristicsSequence(const DRTPrivateDataElementCharacteristicsSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTPrivateDataElementCharacteristicsSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ */
+ DRTPrivateDataElementCharacteristicsSequence &operator=(const DRTPrivateDataElementCharacteristicsSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ unsigned long getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const unsigned long num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const unsigned long num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const unsigned long num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const unsigned long pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const unsigned long pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPrimaryFluenceModeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPersonIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for PersonIdentificationCodeSequence (0040,1101)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPurposeOfReferenceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for PurposeOfReferenceCodeSequence (0040,a170)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPhysiciansOfRecordIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const;
+ /** get PersonTelecomInformation (0040,1104)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const;
+
/** get PersonTelephoneNumbers (0040,1103)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue);
+ /** set PersonTelecomInformation (0040,1104)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue);
+
/** set PersonTelephoneNumbers (0040,1103)
* @param value value to be set (possibly multi-valued) or "" for no value
* @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled
DcmShortText PersonAddress;
/// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1
DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence;
+ /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3
+ DcmLongText PersonTelecomInformation;
/// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3
DcmLongString PersonTelephoneNumbers;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPerformedProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
#include "dcmtk/dcmrt/seq/drtpcxs.h" // for ProtocolContextSequence
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
// --- get DICOM sequence attributes ---
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
/** get ProtocolContextSequence (0040,0440)
* @return reference to sequence element
*/
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
/// ProtocolContextSequence (0040,0440) vr=SQ, vm=1, type=3
DRTProtocolContextSequence ProtocolContextSequence;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPhysiciansReadingStudyIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const;
+ /** get PersonTelecomInformation (0040,1104)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const;
+
/** get PersonTelephoneNumbers (0040,1103)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue);
+ /** set PersonTelecomInformation (0040,1104)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue);
+
/** set PersonTelephoneNumbers (0040,1103)
* @param value value to be set (possibly multi-valued) or "" for no value
* @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled
DcmShortText PersonAddress;
/// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1
DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence;
+ /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3
+ DcmLongText PersonTelecomInformation;
/// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3
DcmLongString PersonTelephoneNumbers;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPatientSpeciesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for PatientSpeciesCodeSequence (0010,2202)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPatientSizeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for PatientSizeCodeSequence (0010,1021)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPatientSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPredecessorStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTPlannedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTQuantityDefinitionSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#ifndef DRTQDS_H
+#define DRTQDS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtccs.h" // for ConceptCodeSequence
+#include "dcmtk/dcmrt/seq/drtcncs.h" // for ConceptNameCodeSequence
+#include "dcmtk/dcmrt/seq/drtmucs.h" // for MeasurementUnitsCodeSequence
+#include "dcmtk/dcmrt/seq/drtrsos.h" // for ReferencedSOPSequence
+
+
+/** Interface class for QuantityDefinitionSequence (0040,9220)
+ */
+class DCMTK_DCMRT_EXPORT DRTQuantityDefinitionSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get Date (0040,a121)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getDate(OFString &value, const signed long pos = 0) const;
+
+ /** get DateTime (0040,a120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getDateTime(OFString &value, const signed long pos = 0) const;
+
+ /** get FloatingPointValue (0040,a161)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getFloatingPointValue(Float64 &value, const unsigned long pos = 0) const;
+
+ /** get NumericValue (0040,a30a)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getNumericValue(OFString &value, const signed long pos = 0) const;
+
+ /** get NumericValue (0040,a30a)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getNumericValue(Float64 &value, const unsigned long pos = 0) const;
+
+ /** get NumericValue (0040,a30a)
+ * @param value reference to variable in which the value(s) should be stored
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getNumericValue(OFVector<Float64> &value) const;
+
+ /** get PersonName (0040,a123)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonName(OFString &value, const signed long pos = 0) const;
+
+ /** get RationalDenominatorValue (0040,a163)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getRationalDenominatorValue(Uint32 &value, const unsigned long pos = 0) const;
+
+ /** get RationalNumeratorValue (0040,a162)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getRationalNumeratorValue(Sint32 &value, const unsigned long pos = 0) const;
+
+ /** get TextValue (0040,a160)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getTextValue(OFString &value, const signed long pos = 0) const;
+
+ /** get Time (0040,a122)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getTime(OFString &value, const signed long pos = 0) const;
+
+ /** get UID (0040,a124)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getUID(OFString &value, const signed long pos = 0) const;
+
+ /** get ValueType (0040,a040)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getValueType(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get ConceptCodeSequence (0040,a168)
+ * @return reference to sequence element
+ */
+ DRTConceptCodeSequence &getConceptCodeSequence()
+ { return ConceptCodeSequence; }
+
+ /** get ConceptCodeSequence (0040,a168)
+ * @return const reference to sequence element
+ */
+ const DRTConceptCodeSequence &getConceptCodeSequence() const
+ { return ConceptCodeSequence; }
+
+ /** get ConceptNameCodeSequence (0040,a043)
+ * @return reference to sequence element
+ */
+ DRTConceptNameCodeSequence &getConceptNameCodeSequence()
+ { return ConceptNameCodeSequence; }
+
+ /** get ConceptNameCodeSequence (0040,a043)
+ * @return const reference to sequence element
+ */
+ const DRTConceptNameCodeSequence &getConceptNameCodeSequence() const
+ { return ConceptNameCodeSequence; }
+
+ /** get MeasurementUnitsCodeSequence (0040,08ea)
+ * @return reference to sequence element
+ */
+ DRTMeasurementUnitsCodeSequence &getMeasurementUnitsCodeSequence()
+ { return MeasurementUnitsCodeSequence; }
+
+ /** get MeasurementUnitsCodeSequence (0040,08ea)
+ * @return const reference to sequence element
+ */
+ const DRTMeasurementUnitsCodeSequence &getMeasurementUnitsCodeSequence() const
+ { return MeasurementUnitsCodeSequence; }
+
+ /** get ReferencedSOPSequence (0008,1199)
+ * @return reference to sequence element
+ */
+ DRTReferencedSOPSequence &getReferencedSOPSequence()
+ { return ReferencedSOPSequence; }
+
+ /** get ReferencedSOPSequence (0008,1199)
+ * @return const reference to sequence element
+ */
+ const DRTReferencedSOPSequence &getReferencedSOPSequence() const
+ { return ReferencedSOPSequence; }
+
+ // --- set DICOM attribute values ---
+
+ /** set Date (0040,a121)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (DA) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setDate(const OFString &value, const OFBool check = OFTrue);
+
+ /** set DateTime (0040,a120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (DT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setDateTime(const OFString &value, const OFBool check = OFTrue);
+
+ /** set FloatingPointValue (0040,a161)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1-n
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setFloatingPointValue(const Float64 value, const unsigned long pos = 0);
+
+ /** set NumericValue (0040,a30a)
+ * @param value value to be set (possibly multi-valued) or "" for no value
+ * @param check check 'value' for conformance with VR (DS) and VM (1-n) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setNumericValue(const OFString &value, const OFBool check = OFTrue);
+
+ /** set PersonName (0040,a123)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (PN) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonName(const OFString &value, const OFBool check = OFTrue);
+
+ /** set RationalDenominatorValue (0040,a163)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1-n
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setRationalDenominatorValue(const Uint32 value, const unsigned long pos = 0);
+
+ /** set RationalNumeratorValue (0040,a162)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1-n
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setRationalNumeratorValue(const Sint32 value, const unsigned long pos = 0);
+
+ /** set TextValue (0040,a160)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setTextValue(const OFString &value, const OFBool check = OFTrue);
+
+ /** set Time (0040,a122)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (TM) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setTime(const OFString &value, const OFBool check = OFTrue);
+
+ /** set UID (0040,a124)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set ValueType (0040,a040)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setValueType(const OFString &value, const OFBool check = OFTrue);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// ConceptCodeSequence (0040,a168) vr=SQ, vm=1, type=1C
+ DRTConceptCodeSequence ConceptCodeSequence;
+ /// ConceptNameCodeSequence (0040,a043) vr=SQ, vm=1, type=1
+ DRTConceptNameCodeSequence ConceptNameCodeSequence;
+ /// Date (0040,a121) vr=DA, vm=1, type=1C
+ DcmDate Date;
+ /// DateTime (0040,a120) vr=DT, vm=1, type=1C
+ DcmDateTime DateTime;
+ /// FloatingPointValue (0040,a161) vr=FD, vm=1-n, type=1C
+ DcmFloatingPointDouble FloatingPointValue;
+ /// MeasurementUnitsCodeSequence (0040,08ea) vr=SQ, vm=1, type=1C
+ DRTMeasurementUnitsCodeSequence MeasurementUnitsCodeSequence;
+ /// NumericValue (0040,a30a) vr=DS, vm=1-n, type=1C
+ DcmDecimalString NumericValue;
+ /// PersonName (0040,a123) vr=PN, vm=1, type=1C
+ DcmPersonName PersonName;
+ /// RationalDenominatorValue (0040,a163) vr=UL, vm=1-n, type=1C
+ DcmUnsignedLong RationalDenominatorValue;
+ /// RationalNumeratorValue (0040,a162) vr=SL, vm=1-n, type=1C
+ DcmSignedLong RationalNumeratorValue;
+ /// ReferencedSOPSequence (0008,1199) vr=SQ, vm=1, type=1C
+ DRTReferencedSOPSequence ReferencedSOPSequence;
+ /// TextValue (0040,a160) vr=UT, vm=1, type=1C
+ DcmUnlimitedText TextValue;
+ /// Time (0040,a122) vr=TM, vm=1, type=1C
+ DcmTime Time;
+ /// UID (0040,a124) vr=UI, vm=1, type=1C
+ DcmUniqueIdentifier UID;
+ /// ValueType (0040,a040) vr=CS, vm=1, type=1
+ DcmCodeString ValueType;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTQuantityDefinitionSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTQuantityDefinitionSequence(const DRTQuantityDefinitionSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTQuantityDefinitionSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ */
+ DRTQuantityDefinitionSequence &operator=(const DRTQuantityDefinitionSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ unsigned long getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const unsigned long num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const unsigned long num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const unsigned long num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const unsigned long pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const unsigned long pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRequestAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBrachyApplicationSetupSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRecordedBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBolusSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBolusSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBolusSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBeamSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBeamSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedBeamSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRecordedCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTROIContourSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getROIDisplayColor(Sint32 &value, const unsigned long pos = 0) const;
+ /** get RecommendedDisplayCIELabValue (0062,000d)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getRecommendedDisplayCIELabValue(Uint16 &value, const unsigned long pos = 0) const;
+
+ /** get RecommendedDisplayGrayscaleValue (0062,000c)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getRecommendedDisplayGrayscaleValue(Uint16 &value, const unsigned long pos = 0) const;
+
/** get ReferencedROINumber (3006,0084)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setROIDisplayColor(const OFString &value, const OFBool check = OFTrue);
+ /** set RecommendedDisplayCIELabValue (0062,000d)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=3
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setRecommendedDisplayCIELabValue(const Uint16 value, const unsigned long pos = 0);
+
+ /** set RecommendedDisplayGrayscaleValue (0062,000c)
+ * @param value value to be set (should be valid for this VR)
+ * @param pos index of the value to be set (0..vm-1), vm=1
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setRecommendedDisplayGrayscaleValue(const Uint16 value, const unsigned long pos = 0);
+
/** set ReferencedROINumber (3006,0084)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (IS) and VM (1) if enabled
DRTContourSequence ContourSequence;
/// ROIDisplayColor (3006,002a) vr=IS, vm=3, type=3
DcmIntegerString ROIDisplayColor;
+ /// RecommendedDisplayCIELabValue (0062,000d) vr=US, vm=3, type=3
+ DcmUnsignedShort RecommendedDisplayCIELabValue;
+ /// RecommendedDisplayGrayscaleValue (0062,000c) vr=US, vm=1, type=3
+ DcmUnsignedShort RecommendedDisplayGrayscaleValue;
/// ReferencedROINumber (3006,0084) vr=IS, vm=1, type=1
DcmIntegerString ReferencedROINumber;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRTDoseROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedDoseReferenceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedDoseReferenceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedDoseSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTROIElementalCompositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedFrameOfReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRTROIIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for RTROIIdentificationCodeSequence (3006,0086)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedInstanceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRecordedLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for RequestedProcedureCodeSequence (0032,1064)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferringPhysicianIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const;
+ /** get PersonTelecomInformation (0040,1104)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const;
+
/** get PersonTelephoneNumbers (0040,1103)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue);
+ /** set PersonTelecomInformation (0040,1104)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue);
+
/** set PersonTelephoneNumbers (0040,1103)
* @param value value to be set (possibly multi-valued) or "" for no value
* @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled
DcmShortText PersonAddress;
/// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1
DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence;
+ /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3
+ DcmLongText PersonTelecomInformation;
/// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3
DcmLongString PersonTelephoneNumbers;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReasonForPerformedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ReasonForPerformedProcedureCodeSequence (0040,1012)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedPatientPhotoSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/dcmrt/seq/drtdimrs.h" // for DICOMMediaRetrievalSequence
#include "dcmtk/dcmrt/seq/drtdirs.h" // for DICOMRetrievalSequence
#include "dcmtk/dcmrt/seq/drtrsos.h" // for ReferencedSOPSequence
+#include "dcmtk/dcmrt/seq/drtwrsrs.h" // for WADORSRetrievalSequence
#include "dcmtk/dcmrt/seq/drtwrs.h" // for WADORetrievalSequence
#include "dcmtk/dcmrt/seq/drtxrs.h" // for XDSRetrievalSequence
const DRTReferencedSOPSequence &getReferencedSOPSequence() const
{ return ReferencedSOPSequence; }
+ /** get WADORSRetrievalSequence (0040,e025)
+ * @return reference to sequence element
+ */
+ DRTWADORSRetrievalSequence &getWADORSRetrievalSequence()
+ { return WADORSRetrievalSequence; }
+
+ /** get WADORSRetrievalSequence (0040,e025)
+ * @return const reference to sequence element
+ */
+ const DRTWADORSRetrievalSequence &getWADORSRetrievalSequence() const
+ { return WADORSRetrievalSequence; }
+
/** get WADORetrievalSequence (0040,e023)
* @return reference to sequence element
*/
DcmUniqueIdentifier StudyInstanceUID;
/// TypeOfInstances (0040,e020) vr=CS, vm=1, type=1
DcmCodeString TypeOfInstances;
+ /// WADORSRetrievalSequence (0040,e025) vr=SQ, vm=1, type=1C
+ DRTWADORSRetrievalSequence WADORSRetrievalSequence;
/// WADORetrievalSequence (0040,e023) vr=SQ, vm=1, type=1C
DRTWADORetrievalSequence WADORetrievalSequence;
/// XDSRetrievalSequence (0040,e024) vr=SQ, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTROIPhysicalPropertiesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedPerformedProcedureStepSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedPatientSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedReferenceImageSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedReferenceImageSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedReferenceImageSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRecordedRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReasonForRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for ReasonForRequestedProcedureCodeSequence (0040,100a)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRelatedRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRTRelatedROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRecordedRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedRTPlanSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedRTPlanSequenceInRTGeneralPlanModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedRTPlanSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedRTPlanSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRequestingServiceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for RequestingServiceCodeSequence (0032,1034)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRangeShifterSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRangeShifterSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedSetupImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRecordedSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedSOPSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedSpatialRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedTreatmentRecordSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedTreatmentRecordSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTReferencedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRecordedWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTRealWorldValueMappingSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
#include "dcmtk/dcmrt/seq/drtmucs.h" // for MeasurementUnitsCodeSequence
+#include "dcmtk/dcmrt/seq/drtqds.h" // for QuantityDefinitionSequence
/** Interface class for RealWorldValueMappingSequence (0040,9096)
const DRTMeasurementUnitsCodeSequence &getMeasurementUnitsCodeSequence() const
{ return MeasurementUnitsCodeSequence; }
+ /** get QuantityDefinitionSequence (0040,9220)
+ * @return reference to sequence element
+ */
+ DRTQuantityDefinitionSequence &getQuantityDefinitionSequence()
+ { return QuantityDefinitionSequence; }
+
+ /** get QuantityDefinitionSequence (0040,9220)
+ * @return const reference to sequence element
+ */
+ const DRTQuantityDefinitionSequence &getQuantityDefinitionSequence() const
+ { return QuantityDefinitionSequence; }
+
// --- set DICOM attribute values ---
/** set LUTExplanation (0028,3003)
DcmShortString LUTLabel;
/// MeasurementUnitsCodeSequence (0040,08ea) vr=SQ, vm=1, type=1
DRTMeasurementUnitsCodeSequence MeasurementUnitsCodeSequence;
+ /// QuantityDefinitionSequence (0040,9220) vr=SQ, vm=1, type=3
+ DRTQuantityDefinitionSequence QuantityDefinitionSequence;
/// RealWorldValueFirstValueMapped (0040,9216) vr=US/SS, vm=1, type=1
DcmUnsignedShort RealWorldValueFirstValueMapped;
/// RealWorldValueIntercept (0040,9224) vr=FD, vm=1, type=1C
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTStudiesContainingOtherReferencedInstancesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTSeriesDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for SeriesDescriptionCodeSequence (0008,103f)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTSetupDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTShieldingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTSourceImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTSegmentedPropertyCategoryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
/** Interface class for SegmentedPropertyCategoryCodeSequence (0062,0003)
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
+ // --- get DICOM sequence attributes ---
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
// --- set DICOM attribute values ---
/** set CodeMeaning (0008,0104)
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTScheduledProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
#include "dcmtk/ofstd/oflist.h" // for standard list class
#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence
#include "dcmtk/dcmrt/seq/drtpcxs.h" // for ProtocolContextSequence
*/
OFCondition getContextUID(OFString &value, const signed long pos = 0) const;
+ /** get LongCodeValue (0008,0119)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const;
+
/** get MappingResource (0008,0105)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition getMappingResource(OFString &value, const signed long pos = 0) const;
+ /** get MappingResourceUID (0008,0118)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const;
+
+ /** get URNCodeValue (0008,0120)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const;
+
// --- get DICOM sequence attributes ---
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return reference to sequence element
+ */
+ DRTEquivalentCodeSequence &getEquivalentCodeSequence()
+ { return EquivalentCodeSequence; }
+
+ /** get EquivalentCodeSequence (0008,0121)
+ * @return const reference to sequence element
+ */
+ const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const
+ { return EquivalentCodeSequence; }
+
/** get ProtocolContextSequence (0040,0440)
* @return reference to sequence element
*/
*/
OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue);
+ /** set LongCodeValue (0008,0119)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue);
+
/** set MappingResource (0008,0105)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
*/
OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue);
+ /** set MappingResourceUID (0008,0118)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue);
+
+ /** set URNCodeValue (0008,0120)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue);
+
private:
/// internal flag used to mark the empty default item
/// CodeMeaning (0008,0104) vr=LO, vm=1, type=1
DcmLongString CodeMeaning;
- /// CodeValue (0008,0100) vr=SH, vm=1, type=1
+ /// CodeValue (0008,0100) vr=SH, vm=1, type=1C
DcmShortString CodeValue;
- /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
+ /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeDesignator;
/// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C
DcmShortString CodingSchemeVersion;
DcmCodeString ContextIdentifier;
/// ContextUID (0008,0117) vr=UI, vm=1, type=3
DcmUniqueIdentifier ContextUID;
+ /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3
+ DRTEquivalentCodeSequence EquivalentCodeSequence;
+ /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C
+ DcmUnlimitedCharacters LongCodeValue;
/// MappingResource (0008,0105) vr=CS, vm=1, type=1C
DcmCodeString MappingResource;
+ /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3
+ DcmUniqueIdentifier MappingResourceUID;
/// ProtocolContextSequence (0040,0440) vr=SQ, vm=1, type=3
DRTProtocolContextSequence ProtocolContextSequence;
+ /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C
+ DcmUniversalResourceIdentifierOrLocator URNCodeValue;
};
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTStructureSetROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTTreatmentMachineSequenceInRTTreatmentMachineRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTTreatmentMachineSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTTreatmentSummaryCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTTreatmentSessionIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTTreatmentSummaryMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTVOILUTSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTWADORetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class DRTWADORSRetrievalSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#ifndef DRTWRSRS_H
+#define DRTWRSRS_H
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/ofstd/oflist.h" // for standard list class
+#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class
+
+
+/** Interface class for WADORSRetrievalSequence (0040,e025)
+ */
+class DCMTK_DCMRT_EXPORT DRTWADORSRetrievalSequence
+ : protected DRTTypes
+{
+
+ public:
+
+ /** Item class
+ */
+ class DCMTK_DCMRT_EXPORT Item
+ : protected DRTTypes
+ {
+
+ public:
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultItem flag used to mark the empty default item
+ */
+ Item(const OFBool emptyDefaultItem = OFFalse);
+
+ /** copy constructor
+ * @param copy item object to be copied
+ */
+ Item(const Item ©);
+
+ /** destructor
+ */
+ virtual ~Item();
+
+ /** assigment operator
+ * @param copy item object to be copied
+ */
+ Item &operator=(const Item ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if item is empty
+ * @return OFTrue if item is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if item is valid, i.e.\ not the empty default item
+ * @return OFTrue if item is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ // --- input/output methods ---
+
+ /** read elements from sequence item
+ * @param item reference to DICOM sequence item from which the elements should be read
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &item);
+
+ /** write elements to sequence item
+ * @param item reference to DICOM sequence item to which the elements should be written
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &item);
+
+ // --- get DICOM attribute values ---
+
+ /** get RetrieveURL (0008,1190)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getRetrieveURL(OFString &value, const signed long pos = 0) const;
+
+ // --- set DICOM attribute values ---
+
+ /** set RetrieveURL (0008,1190)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setRetrieveURL(const OFString &value, const OFBool check = OFTrue);
+
+ private:
+
+ /// internal flag used to mark the empty default item
+ /*const*/ OFBool EmptyDefaultItem;
+
+ /// RetrieveURL (0008,1190) vr=UR, vm=1, type=1
+ DcmUniversalResourceIdentifierOrLocator RetrieveURL;
+
+ };
+
+ // --- constructors, destructor and operators ---
+
+ /** (default) constructor
+ * @param emptyDefaultSequence internal flag used to mark the empty default sequence
+ */
+ DRTWADORSRetrievalSequence(const OFBool emptyDefaultSequence = OFFalse);
+
+ /** copy constructor
+ * @param copy sequence object to be copied
+ */
+ DRTWADORSRetrievalSequence(const DRTWADORSRetrievalSequence ©);
+
+ /** destructor
+ */
+ virtual ~DRTWADORSRetrievalSequence();
+
+ /** assigment operator
+ * @param copy sequence object to be copied
+ */
+ DRTWADORSRetrievalSequence &operator=(const DRTWADORSRetrievalSequence ©);
+
+ // --- general methods ---
+
+ /** clear all internal member variables
+ */
+ void clear();
+
+ /** check if sequence is empty
+ * @return OFTrue if sequence is empty, OFFalse otherwise
+ */
+ OFBool isEmpty();
+
+ /** check if sequence is valid, i.e.\ not the empty default sequence
+ * @return OFTrue if sequence is valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** get number of items in the sequence
+ * @return number of items
+ */
+ unsigned long getNumberOfItems() const;
+
+ /** goto first item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoFirstItem();
+
+ /** goto next item in the sequence
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoNextItem();
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num);
+
+ /** get current item in the sequence
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getCurrentItem(Item *&item) const;
+
+ /** get current item in the sequence
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getCurrentItem();
+
+ /** get current item in the sequence
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getCurrentItem() const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @param item reference to item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getItem(const unsigned long num, Item *&item);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &getItem(const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &getItem(const unsigned long num) const;
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return reference to specified item if successful, empty default item otherwise
+ */
+ Item &operator[](const unsigned long num);
+
+ /** get particular item in the sequence
+ * @param num number of the item to be retrieved (0..num-1)
+ * @return const reference to specified item if successful, empty default item otherwise
+ */
+ const Item &operator[](const unsigned long num) const;
+
+ /** add new item to the end of this sequence
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addItem(Item *&item);
+
+ /** insert new item into the sequence
+ * @param pos position where the new item is to be inserted (0..num)
+ * @param item reference to new item pointer (result variable)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition insertItem(const unsigned long pos, Item *&item);
+
+ /** remove particular item from the sequence
+ * @param pos position of the item to be removed (0..num-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition removeItem(const unsigned long pos);
+
+ // --- input/output methods ---
+
+ /** read sequence of items from dataset
+ * @param dataset reference to DICOM dataset from which the sequence should be read
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "1C", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ /** write sequence of items to dataset
+ * @param dataset reference to DICOM dataset to which the sequence should be written
+ * @param card cardinality (valid range for number of items)
+ * @param type value type (valid value: "1", "2" or something else which is not checked)
+ * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName = NULL);
+
+ protected:
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListIterator(Item *) &iterator);
+
+ /** goto particular item in the sequence
+ * @param num number of the item to be selected (0..num-1)
+ * @param iterator list iterator storing the position of the item
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition gotoItem(const unsigned long num,
+ OFListConstIterator(Item *) &iterator) const;
+
+ private:
+
+ /// internal flag used to mark the empty default sequence
+ /*const*/ OFBool EmptyDefaultSequence;
+
+ /// list of items in this sequence
+ OFList<Item *> SequenceOfItems;
+ /// currently selected item
+ OFListIterator(Item *) CurrentItem;
+ /// empty default item
+ Item EmptyItem;
+
+};
+
+
+#endif
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
*/
OFCondition getAccessoryCode(OFString &value, const signed long pos = 0) const;
+ /** get EffectiveWedgeAngle (300a,00de)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1), -1 for all components
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getEffectiveWedgeAngle(OFString &value, const signed long pos = 0) const;
+
+ /** get EffectiveWedgeAngle (300a,00de)
+ * @param value reference to variable in which the value should be stored
+ * @param pos index of the value to get (0..vm-1)
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getEffectiveWedgeAngle(Float64 &value, const unsigned long pos = 0) const;
+
/** get SourceToWedgeTrayDistance (300a,00da)
* @param value reference to variable in which the value should be stored
* @param pos index of the value to get (0..vm-1), -1 for all components
*/
OFCondition setAccessoryCode(const OFString &value, const OFBool check = OFTrue);
+ /** set EffectiveWedgeAngle (300a,00de)
+ * @param value value to be set (single value only) or "" for no value
+ * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled
+ * @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setEffectiveWedgeAngle(const OFString &value, const OFBool check = OFTrue);
+
/** set SourceToWedgeTrayDistance (300a,00da)
* @param value value to be set (single value only) or "" for no value
* @param check check 'value' for conformance with VR (DS) and VM (1) if enabled
/// AccessoryCode (300a,00f9) vr=LO, vm=1, type=3
DcmLongString AccessoryCode;
+ /// EffectiveWedgeAngle (300a,00de) vr=DS, vm=1, type=3
+ DcmDecimalString EffectiveWedgeAngle;
/// SourceToWedgeTrayDistance (300a,00da) vr=DS, vm=1, type=3
DcmDecimalString SourceToWedgeTrayDistance;
/// WedgeAngle (300a,00d5) vr=IS, vm=1, type=2
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class DRTXDSRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
# create library from source files
-DCMTK_ADD_LIBRARY(dcmrt drtdose drtimage drtplan drtstrct drttreat drtionpl drtiontr drmdose drmimage drmplan drmstrct drttypes drtaadcs drtadcs drtads drtafs drtags drtajcs drtarics drtas1 drtas5 drtas6 drtas7 drtass drtbads drtbas drtbcps drtbl2 drtbl5 drtbldls drtbldps drtblds1 drtblds5 drtblds6 drtbldts drtbrcss drtbrdrs drtbrs drtbs drtbvcps drtcbars drtccs drtcctus drtcdrs drtces drtchs drtcims drtcis drtcncs drtcos drtcpas drtcps drtcsas drtcs drtcshs drtcsis drtcss drtdcs drtdimcs drtdimrs drtdirs drtdrs drtds drtdspcs drtdss drtdvhs drtdvrrs drteas drtes drtfds drtfes drtfgs drtfgss drtfms drtfsss drtgas drthsdrs drtiais drtians drtiblds drtibls drtibs drticpds drticps drtics drtiis drtipiqs drtircs drtiseis drtitts drtiwps drtiws drtlsds6 drtlsds7 drtlsds drtmacds drtmas drtmdrs drtmls drtmps drtmss drtmucs drtoas drtois drtopis drtos drtpbcs drtpcs drtpcxs drtpfms drtpics drtporcs drtporis drtppcs drtprsis drtpscs drtpsics drtpss drtpsss drtpvis drtras drtrbas2 drtrbas8 drtrbls drtrbos1 drtrbos6 drtrbos7 drtrbs2 drtrbs4 drtrbs8 drtrcdrs drtrcos drtrcps drtrcs drtrdros drtrdrs1 drtrdrs6 drtrdrs8 drtrds drtrecs drtrfgs drtrfors drtrics drtrims drtris drtrlsds drtrmdrs drtrms drtrmss6 drtrmss7 drtrpcs drtrpis drtrppcs drtrpphs drtrpps drtrppss drtrps drtrris1 drtrris6 drtrris9 drtrrms drtrros drtrrpcs drtrrros drtrrs drtrrshs drtrrtps3 drtrrtps4 drtrrtps5 drtrrtps drtrscs drtrsers drtrses drtrshs6 drtrshs7 drtrshs drtrsis drtrsns drtrsos drtrsrs drtrss drtrsss drtrsts drtrtrs2 drtrtrs4 drtrvis drtrws drtrwvms drtscris drtsdcs drtsds drtshds drtsis drtsns drtspccs drtspcs drtss drtssrs drttms0 drttms9 drttscds drttsibs drttsmds drttts drtvls drtwps drtwrs drtws drtxrs)
+DCMTK_ADD_LIBRARY(dcmrt drtdose drtimage drtplan drtstrct drttreat drtionpl drtiontr drmdose drmimage drmplan drmstrct drttypes drtaadcs drtadcs drtads drtafs drtags drtajcs drtarics drtas1 drtas5 drtas6 drtas7 drtass drtbads drtbas drtbcps drtbl2 drtbl5 drtbldls drtbldps drtblds1 drtblds5 drtblds6 drtbldts drtbrcss drtbrdrs drtbrs drtbs drtbss drtbvcps drtcbars drtccs drtcctus drtcdrs drtces drtchs drtcims drtcis drtcncs drtcos drtcpas drtcpis drtcps drtcsas drtcs drtcshs drtcsis drtcss drtdcs drtdias drtdimcs drtdimrs drtdirs drtdrs drtds drtdspcs drtdss drtdvhs drtdvrrs drteas drtecs drtes drtfds drtfes drtfgs drtfgss drtfms drtfsss drtgas drthsdrs drtiais drtians drtiblds drtibls drtibs drticpds drticps drtics drtiis drtipiqs drtircs drtiseis drtitts drtiwps drtiws drtlsds6 drtlsds7 drtlsds drtmacds drtmas drtmdrs drtmls drtmps drtmss drtmucs drtoas drtois drtopis drtos drtpbcs drtpcs drtpcxs drtpdecs drtpfms drtpics drtporcs drtporis drtppcs drtprsis drtpscs drtpsics drtpss drtpsss drtpvis drtqds drtras drtrbas2 drtrbas8 drtrbls drtrbos1 drtrbos6 drtrbos7 drtrbs2 drtrbs4 drtrbs8 drtrcdrs drtrcos drtrcps drtrcs drtrdros drtrdrs1 drtrdrs6 drtrdrs8 drtrds drtrecs drtrfgs drtrfors drtrics drtrims drtris drtrlsds drtrmdrs drtrms drtrmss6 drtrmss7 drtrpcs drtrpis drtrppcs drtrpphs drtrpps drtrppss drtrps drtrris1 drtrris6 drtrris9 drtrrms drtrros drtrrpcs drtrrros drtrrs drtrrshs drtrrtps3 drtrrtps4 drtrrtps5 drtrrtps drtrscs drtrsers drtrses drtrshs6 drtrshs7 drtrshs drtrsis drtrsns drtrsos drtrsrs drtrss drtrsss drtrsts drtrtrs2 drtrtrs4 drtrvis drtwrsrs drtrws drtrwvms drtscris drtsdcs drtsds drtshds drtsis drtsns drtspccs drtspcs drtss drtssrs drttms0 drttms9 drttscds drttsibs drttsmds drttts drtvls drtwps drtwrs drtws drtxrs)
DCMTK_TARGET_LINK_MODULES(dcmrt ofstd oflog dcmdata dcmimgle)
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdvhs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpsss.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \
../include/dcmtk/dcmrt/seq/drtcis.h \
../include/dcmtk/dcmrt/seq/drtrdros.h \
../include/dcmtk/dcmrt/seq/drtrwvms.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrfors.h \
../include/dcmtk/dcmrt/seq/drtrsts.h \
../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps.h \
../include/dcmtk/dcmrt/seq/drtrfgs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h \
../include/dcmtk/dcmrt/seq/drtcbars.h \
../include/dcmtk/dcmrt/seq/drtads.h ../include/dcmtk/dcmrt/seq/drtbas.h \
../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrwvms.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps5.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtass.h \
- ../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \
- ../include/dcmtk/dcmrt/seq/drtbcps.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtass.h ../include/dcmtk/dcmrt/seq/drtbads.h \
+ ../include/dcmtk/dcmrt/seq/drtchs.h ../include/dcmtk/dcmrt/seq/drtbcps.h \
../include/dcmtk/dcmrt/seq/drtbrdrs.h \
../include/dcmtk/dcmrt/seq/drtcshs.h \
../include/dcmtk/dcmrt/seq/drtrris9.h ../include/dcmtk/dcmrt/seq/drtbs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps3.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpsss.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \
../include/dcmtk/dcmrt/seq/drtcis.h ../include/dcmtk/dcmrt/seq/drtrros.h \
../include/dcmtk/dcmrt/seq/drtarics.h \
../include/dcmtk/dcmrt/seq/drtrses.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrss.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtadcs.o: drtadcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtadcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtads.o: drtads.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtads.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtafs.o: drtafs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtafs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtags.o: drtags.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtags.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtajcs.o: drtajcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtajcs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtarics.o: drtarics.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtarics.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h \
../include/dcmtk/dcmrt/seq/drtporcs.h
drtas1.o: drtas1.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtas1.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtags.h
drtas5.o: drtas5.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtags.h
drtas6.o: drtas6.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtas7.o: drtas7.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtas7.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtass.o: drtass.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtass.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \
../include/dcmtk/dcmrt/seq/drtbcps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtbas.o: drtbas.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbas.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtbcps.o: drtbcps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbcps.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbrdrs.h
drtbl2.o: drtbl2.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtbl5.o: drtbl5.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbl5.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtbldls.o: drtbldls.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbldls.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtbldps.o: drtbldps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbldps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtblds1.o: drtblds1.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtblds1.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtblds5.o: drtblds5.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtblds5.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtblds6.o: drtblds6.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtblds6.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtbldts.o: drtbldts.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbldts.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtbrcss.o: drtbrcss.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtbrdrs.o: drtbrdrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbrdrs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtbrs.o: drtbrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtbrcss.h
+ ../include/dcmtk/dcmrt/seq/drtbrcss.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtbs.o: drtbs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtbs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtas1.h ../include/dcmtk/dcmrt/seq/drtags.h \
../include/dcmtk/dcmrt/seq/drtblds1.h \
../include/dcmtk/dcmrt/seq/drtpfms.h \
../include/dcmtk/dcmrt/seq/drtrbos1.h \
../include/dcmtk/dcmrt/seq/drtrris1.h ../include/dcmtk/dcmrt/seq/drtws.h
-drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtbvcps.h \
+drtbss.o: drtbss.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtbss.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcbars.h \
+drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtbvcps.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtads.h
-drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtccs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcbars.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcctus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtads.h ../include/dcmtk/dcmrt/seq/drtecs.h
+drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtccs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcdrs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcctus.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtces.h \
+drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcdrs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtois.h ../include/dcmtk/dcmrt/seq/drtics.h \
- ../include/dcmtk/dcmrt/seq/drtpics.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h
-drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtchs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtces.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtbcps.h \
- ../include/dcmtk/dcmrt/seq/drtbrdrs.h \
- ../include/dcmtk/dcmrt/seq/drtcshs.h
-drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcims.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtporcs.h
+drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtchs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \
- ../include/dcmtk/dcmrt/seq/drtmucs.h \
- ../include/dcmtk/dcmrt/seq/drtrsos.h
-drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcis.h \
+ ../include/dcmtk/dcmrt/seq/drtbcps.h \
+ ../include/dcmtk/dcmrt/seq/drtbrdrs.h \
+ ../include/dcmtk/dcmrt/seq/drtcshs.h
+drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcims.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
../include/dcmtk/dcmrt/seq/drtcncs.h \
+ ../include/dcmtk/dcmrt/seq/drtmucs.h \
+ ../include/dcmtk/dcmrt/seq/drtrsos.h
+drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcos.h \
+drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcncs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcpas.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcos.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcps.h \
+drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcpas.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtbldps.h \
- ../include/dcmtk/dcmrt/seq/drtrdrs1.h \
- ../include/dcmtk/dcmrt/seq/drtrds.h ../include/dcmtk/dcmrt/seq/drtwps.h
-drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtcpis.o: drtcpis.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtcis.h
-drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcsas.h \
+ ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h
+drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcps.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcshs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtbldps.h \
+ ../include/dcmtk/dcmrt/seq/drtrdrs1.h \
+ ../include/dcmtk/dcmrt/seq/drtrds.h ../include/dcmtk/dcmrt/seq/drtwps.h
+drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcsis.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtcis.h
+drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcsas.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtcss.h \
+drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcshs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtdcs.h \
+drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcsis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtdimcs.h \
+drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtcss.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtdimrs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtdcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtdias.o: drtdias.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \
+drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtdimcs.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcast.h \
../../ofstd/include/dcmtk/ofstd/ofexport.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
- ../include/dcmtk/dcmrt/seq/drtbrcss.h \
- ../include/dcmtk/dcmrt/seq/drtcsis.h \
- ../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h \
- ../include/dcmtk/dcmrt/seq/drtcsas.h \
- ../include/dcmtk/dcmrt/seq/drtdvhs.h \
- ../include/dcmtk/dcmrt/seq/drtdvrrs.h \
- ../include/dcmtk/dcmrt/seq/drtdimcs.h \
- ../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
- ../include/dcmtk/dcmrt/seq/drtdspcs.h \
- ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \
- ../include/dcmtk/dcmrt/seq/drthsdrs.h \
- ../include/dcmtk/dcmrt/seq/drtiis.h ../include/dcmtk/dcmrt/seq/drtians.h \
- ../include/dcmtk/dcmrt/seq/drtiais.h \
- ../include/dcmtk/dcmrt/seq/drtipiqs.h \
- ../include/dcmtk/dcmrt/seq/drtaadcs.h \
- ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \
- ../include/dcmtk/dcmrt/seq/drtiseis.h \
- ../include/dcmtk/dcmrt/seq/drtmps.h ../include/dcmtk/dcmrt/seq/drtmls.h \
- ../include/dcmtk/dcmrt/seq/drtoas.h ../include/dcmtk/dcmrt/seq/drtmas.h \
- ../include/dcmtk/dcmrt/seq/drtopis.h \
- ../include/dcmtk/dcmrt/seq/drtpbcs.h \
- ../include/dcmtk/dcmrt/seq/drtpsics.h \
- ../include/dcmtk/dcmrt/seq/drtpscs.h \
- ../include/dcmtk/dcmrt/seq/drtppcs.h \
- ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \
- ../include/dcmtk/dcmrt/seq/drtcncs.h \
- ../include/dcmtk/dcmrt/seq/drtcims.h \
- ../include/dcmtk/dcmrt/seq/drtmucs.h \
- ../include/dcmtk/dcmrt/seq/drtrsos.h \
- ../include/dcmtk/dcmrt/seq/drtporis.h \
- ../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
- ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \
- ../include/dcmtk/dcmrt/seq/drtcis.h \
- ../include/dcmtk/dcmrt/seq/drtrdros.h \
- ../include/dcmtk/dcmrt/seq/drtrwvms.h \
- ../include/dcmtk/dcmrt/seq/drtrppcs.h \
- ../include/dcmtk/dcmrt/seq/drtrfors.h \
- ../include/dcmtk/dcmrt/seq/drtrsts.h \
- ../include/dcmtk/dcmrt/seq/drtrses.h \
- ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \
- ../include/dcmtk/dcmrt/seq/drtrpphs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
- ../include/dcmtk/dcmrt/seq/drtrppss.h \
- ../include/dcmtk/dcmrt/seq/drtrrtps.h \
- ../include/dcmtk/dcmrt/seq/drtrfgs.h \
- ../include/dcmtk/dcmrt/seq/drtrbs2.h \
- ../include/dcmtk/dcmrt/seq/drtrcps.h \
- ../include/dcmtk/dcmrt/seq/drtrbas2.h \
- ../include/dcmtk/dcmrt/seq/drtrsers.h \
- ../include/dcmtk/dcmrt/seq/drtrsrs.h \
- ../include/dcmtk/dcmrt/seq/drtrsss.h ../include/dcmtk/dcmrt/seq/drtrss.h \
- ../include/dcmtk/dcmrt/seq/drtrtrs2.h \
- ../include/dcmtk/dcmrt/seq/drtrpis.h ../include/dcmtk/dcmrt/seq/drtras.h \
- ../include/dcmtk/dcmrt/seq/drtrrpcs.h \
- ../include/dcmtk/dcmrt/seq/drtrpcs.h \
- ../include/dcmtk/dcmrt/seq/drtspcs.h \
- ../include/dcmtk/dcmrt/seq/drtrscs.h \
- ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtsis.h \
- ../include/dcmtk/dcmrt/seq/drtssrs.h \
- ../include/dcmtk/dcmrt/seq/drtscris.h
-drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtdrs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtds.h \
+drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtdspcs.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
+drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcast.h \
../../ofstd/include/dcmtk/ofstd/ofexport.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtdss.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
- ../../ofstd/include/dcmtk/ofstd/oftypes.h \
- ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofcast.h \
- ../../ofstd/include/dcmtk/ofstd/ofexport.h \
- ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrcss.h \
+ ../include/dcmtk/dcmrt/seq/drtcsis.h \
+ ../include/dcmtk/dcmrt/seq/drtcctus.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
+ ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../include/dcmtk/dcmrt/seq/drtcsas.h \
+ ../include/dcmtk/dcmrt/seq/drtdvhs.h \
+ ../include/dcmtk/dcmrt/seq/drtdvrrs.h \
+ ../include/dcmtk/dcmrt/seq/drtdimcs.h \
+ ../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \
+ ../include/dcmtk/dcmrt/seq/drtdspcs.h \
+ ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \
+ ../include/dcmtk/dcmrt/seq/drthsdrs.h \
+ ../include/dcmtk/dcmrt/seq/drtiis.h ../include/dcmtk/dcmrt/seq/drtians.h \
+ ../include/dcmtk/dcmrt/seq/drtiais.h \
+ ../include/dcmtk/dcmrt/seq/drtipiqs.h \
+ ../include/dcmtk/dcmrt/seq/drtaadcs.h \
+ ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \
+ ../include/dcmtk/dcmrt/seq/drtiseis.h \
+ ../include/dcmtk/dcmrt/seq/drtmps.h ../include/dcmtk/dcmrt/seq/drtmls.h \
+ ../include/dcmtk/dcmrt/seq/drtoas.h ../include/dcmtk/dcmrt/seq/drtmas.h \
+ ../include/dcmtk/dcmrt/seq/drtopis.h \
+ ../include/dcmtk/dcmrt/seq/drtpbcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpsics.h \
+ ../include/dcmtk/dcmrt/seq/drtpscs.h \
+ ../include/dcmtk/dcmrt/seq/drtppcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \
+ ../include/dcmtk/dcmrt/seq/drtcncs.h \
+ ../include/dcmtk/dcmrt/seq/drtcims.h \
+ ../include/dcmtk/dcmrt/seq/drtmucs.h \
+ ../include/dcmtk/dcmrt/seq/drtrsos.h \
+ ../include/dcmtk/dcmrt/seq/drtporis.h \
+ ../include/dcmtk/dcmrt/seq/drtprsis.h \
+ ../include/dcmtk/dcmrt/seq/drtpsss.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \
+ ../include/dcmtk/dcmrt/seq/drtcis.h \
+ ../include/dcmtk/dcmrt/seq/drtrdros.h \
+ ../include/dcmtk/dcmrt/seq/drtrwvms.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h \
+ ../include/dcmtk/dcmrt/seq/drtrppcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrfors.h \
+ ../include/dcmtk/dcmrt/seq/drtrsts.h \
+ ../include/dcmtk/dcmrt/seq/drtrses.h \
+ ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \
+ ../include/dcmtk/dcmrt/seq/drtrpphs.h \
+ ../include/dcmtk/dcmrt/seq/drtdimrs.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtrppss.h \
+ ../include/dcmtk/dcmrt/seq/drtrrtps.h \
+ ../include/dcmtk/dcmrt/seq/drtrfgs.h \
+ ../include/dcmtk/dcmrt/seq/drtrbs2.h \
+ ../include/dcmtk/dcmrt/seq/drtrcps.h \
+ ../include/dcmtk/dcmrt/seq/drtrbas2.h \
+ ../include/dcmtk/dcmrt/seq/drtrsers.h \
+ ../include/dcmtk/dcmrt/seq/drtrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrsss.h ../include/dcmtk/dcmrt/seq/drtrss.h \
+ ../include/dcmtk/dcmrt/seq/drtrtrs2.h \
+ ../include/dcmtk/dcmrt/seq/drtrpis.h ../include/dcmtk/dcmrt/seq/drtras.h \
+ ../include/dcmtk/dcmrt/seq/drtrrpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtspcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrscs.h \
+ ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtsis.h \
+ ../include/dcmtk/dcmrt/seq/drtssrs.h \
+ ../include/dcmtk/dcmrt/seq/drtscris.h
+drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtdrs.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtds.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtdspcs.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtdss.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtdspcs.h
+ ../include/dcmtk/dcmrt/seq/drtdspcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtdvhs.o: drtdvhs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtdvhs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtdvrrs.h
drtdvrrs.o: drtdvrrs.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drteas.o: drteas.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drteas.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtecs.o: drtecs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtes.o: drtes.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtas5.h ../include/dcmtk/dcmrt/seq/drtags.h \
../include/dcmtk/dcmrt/seq/drtblds5.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtfes.o: drtfes.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtfes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtfgs.o: drtfgs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtfgs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrbs8.h \
../include/dcmtk/dcmrt/seq/drtbvcps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtfsss.h
drtfms.o: drtfms.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtfsss.o: drtfsss.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtfsss.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtgas.o: drtgas.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtgas.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drthsdrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtiais.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtians.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtiblds.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtibls.o: drtibls.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtibls.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtbss.h
drtibs.o: drtibs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtibs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtas6.h ../include/dcmtk/dcmrt/seq/drtgas.h \
../include/dcmtk/dcmrt/seq/drtiblds.h \
- ../include/dcmtk/dcmrt/seq/drtibls.h \
+ ../include/dcmtk/dcmrt/seq/drtibls.h ../include/dcmtk/dcmrt/seq/drtbss.h \
../include/dcmtk/dcmrt/seq/drticps.h \
../include/dcmtk/dcmrt/seq/drtbldps.h \
../include/dcmtk/dcmrt/seq/drtiwps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbldps.h \
../include/dcmtk/dcmrt/seq/drtcpas.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbldps.h \
../include/dcmtk/dcmrt/seq/drtiwps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtiis.o: drtiis.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtiis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtimage.o: drtimage.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/drtimage.h ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h \
../include/dcmtk/dcmrt/seq/drtcbars.h \
../include/dcmtk/dcmrt/seq/drtads.h ../include/dcmtk/dcmrt/seq/drtbas.h \
../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrwvms.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps5.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtibs.h ../include/dcmtk/dcmrt/seq/drtas6.h \
../include/dcmtk/dcmrt/seq/drtgas.h \
../include/dcmtk/dcmrt/seq/drtiblds.h \
- ../include/dcmtk/dcmrt/seq/drtibls.h \
+ ../include/dcmtk/dcmrt/seq/drtibls.h ../include/dcmtk/dcmrt/seq/drtbss.h \
../include/dcmtk/dcmrt/seq/drticps.h \
../include/dcmtk/dcmrt/seq/drtbldps.h \
../include/dcmtk/dcmrt/seq/drtiwps.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps3.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcdrs.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps4.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
- ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h
+ ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtafs.h \
+ ../include/dcmtk/dcmrt/seq/drtajcs.h
drtircs.o: drtircs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtircs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtiseis.o: drtiseis.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtiseis.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtitts.o: drtitts.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtitts.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbldts.h
drtiwps.o: drtiwps.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtiws.o: drtiws.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtiws.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtlsds.o: drtlsds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtlsds.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtlsds6.o: drtlsds6.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtlsds6.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtlsds7.o: drtlsds7.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtlsds7.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtmacds.o: drtmacds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtmacds.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtcss.h
+ ../include/dcmtk/dcmrt/seq/drtcss.h ../include/dcmtk/dcmrt/seq/drtecs.h
drtmas.o: drtmas.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtmas.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtmdrs.o: drtmdrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtmdrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtmls.o: drtmls.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtmls.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtmps.o: drtmps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtmps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtmss.o: drtmss.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtmss.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtmucs.o: drtmucs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtmucs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtoas.o: drtoas.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtoas.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtmas.h
drtois.o: drtois.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h
+ ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h
drtopis.o: drtopis.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtopis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtipiqs.h \
../include/dcmtk/dcmrt/seq/drtaadcs.h \
- ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h
+ ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtafs.h \
+ ../include/dcmtk/dcmrt/seq/drtajcs.h
drtos.o: drtos.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtos.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtpbcs.o: drtpbcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtpbcs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtpcs.o: drtpcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtpcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtpcxs.o: drtpcxs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtpcxs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \
+ ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtcncs.h \
../include/dcmtk/dcmrt/seq/drtcims.h \
../include/dcmtk/dcmrt/seq/drtmucs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h
+drtpdecs.o: drtpdecs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h
drtpfms.o: drtpfms.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtpfms.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtpics.o: drtpics.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtpics.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/drtplan.h ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtass.h \
- ../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \
- ../include/dcmtk/dcmrt/seq/drtbcps.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtass.h ../include/dcmtk/dcmrt/seq/drtbads.h \
+ ../include/dcmtk/dcmrt/seq/drtchs.h ../include/dcmtk/dcmrt/seq/drtbcps.h \
../include/dcmtk/dcmrt/seq/drtbrdrs.h \
../include/dcmtk/dcmrt/seq/drtcshs.h \
../include/dcmtk/dcmrt/seq/drtrris9.h ../include/dcmtk/dcmrt/seq/drtbs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtmucs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
- ../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
- ../include/dcmtk/dcmrt/seq/drtrppcs.h \
- ../include/dcmtk/dcmrt/seq/drtrpphs.h \
- ../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
- ../include/dcmtk/dcmrt/seq/drtrppss.h \
- ../include/dcmtk/dcmrt/seq/drtrrtps3.h \
- ../include/dcmtk/dcmrt/seq/drtrsers.h \
- ../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrsss.h \
- ../include/dcmtk/dcmrt/seq/drtrss.h ../include/dcmtk/dcmrt/seq/drtrpis.h \
- ../include/dcmtk/dcmrt/seq/drtras.h \
- ../include/dcmtk/dcmrt/seq/drtrrpcs.h \
- ../include/dcmtk/dcmrt/seq/drtrpcs.h \
- ../include/dcmtk/dcmrt/seq/drtspcs.h \
- ../include/dcmtk/dcmrt/seq/drtrscs.h \
- ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtss.h \
- ../include/dcmtk/dcmrt/seq/drtscris.h \
- ../include/dcmtk/dcmrt/seq/drttts.h \
- ../include/dcmtk/dcmrt/seq/drtbldts.h \
- ../include/dcmtk/dcmrt/seq/drttms9.h
-drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../include/dcmtk/dcmrt/seq/drtprsis.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrppcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrpphs.h \
+ ../include/dcmtk/dcmrt/seq/drtdimrs.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtrppss.h \
+ ../include/dcmtk/dcmrt/seq/drtrrtps3.h \
+ ../include/dcmtk/dcmrt/seq/drtrsers.h \
+ ../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrsss.h \
+ ../include/dcmtk/dcmrt/seq/drtrss.h ../include/dcmtk/dcmrt/seq/drtrpis.h \
+ ../include/dcmtk/dcmrt/seq/drtras.h \
+ ../include/dcmtk/dcmrt/seq/drtrrpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtspcs.h \
+ ../include/dcmtk/dcmrt/seq/drtrscs.h \
+ ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtss.h \
+ ../include/dcmtk/dcmrt/seq/drtscris.h \
+ ../include/dcmtk/dcmrt/seq/drttts.h \
+ ../include/dcmtk/dcmrt/seq/drtbldts.h \
+ ../include/dcmtk/dcmrt/seq/drttms9.h
+drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtporis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtporis.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h
+drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtppcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h
-drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtppcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtpcxs.h \
+ ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \
+ ../include/dcmtk/dcmrt/seq/drtcims.h \
+ ../include/dcmtk/dcmrt/seq/drtmucs.h \
+ ../include/dcmtk/dcmrt/seq/drtrsos.h
+drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtprsis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \
- ../include/dcmtk/dcmrt/seq/drtcncs.h \
- ../include/dcmtk/dcmrt/seq/drtcims.h \
- ../include/dcmtk/dcmrt/seq/drtmucs.h \
- ../include/dcmtk/dcmrt/seq/drtrsos.h
-drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtprsis.h \
+ ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h
+drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtpscs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h
-drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtpscs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtpsics.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtpsics.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
+drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtpss.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtpss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtfds.h ../include/dcmtk/dcmrt/seq/drtmss.h \
+ ../include/dcmtk/dcmrt/seq/drtrsis.h ../include/dcmtk/dcmrt/seq/drtsds.h \
+ ../include/dcmtk/dcmrt/seq/drtshds.h
+drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtpsss.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtfds.h ../include/dcmtk/dcmrt/seq/drtmss.h \
- ../include/dcmtk/dcmrt/seq/drtrsis.h ../include/dcmtk/dcmrt/seq/drtsds.h \
- ../include/dcmtk/dcmrt/seq/drtshds.h
-drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtpsss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtpvis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
-drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmrt/seq/drtpvis.h \
+drtqds.o: drtqds.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtcncs.h \
+ ../include/dcmtk/dcmrt/seq/drtmucs.h \
+ ../include/dcmtk/dcmrt/seq/drtrsos.h
drtras.o: drtras.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtras.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtians.h \
../include/dcmtk/dcmrt/seq/drtrrpcs.h \
- ../include/dcmtk/dcmrt/seq/drtrss.h ../include/dcmtk/dcmrt/seq/drtrpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtrss.h \
+ ../include/dcmtk/dcmrt/seq/drtrpcs.h \
../include/dcmtk/dcmrt/seq/drtspcs.h \
../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \
../include/dcmtk/dcmrt/seq/drtcncs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrbas8.o: drtrbas8.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrbas8.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrbls.o: drtrbls.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrbls.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrbos1.o: drtrbos1.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrbos1.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrbos6.o: drtrbos6.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrbos6.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrbos7.o: drtrbos7.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrbos7.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrbs2.o: drtrbs2.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrbs2.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrcps.h
drtrbs4.o: drtrbs4.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbvcps.h
drtrbs8.o: drtrbs8.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbvcps.h
drtrcdrs.o: drtrcdrs.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrcos.o: drtrcos.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrcos.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrcps.o: drtrcps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrcps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrcs.o: drtrcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrcs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtcs.h ../include/dcmtk/dcmrt/seq/drtcis.h
drtrdros.o: drtrdros.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrdrs1.o: drtrdrs1.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrdrs1.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrdrs6.o: drtrdrs6.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrdrs6.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrdrs8.o: drtrdrs8.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrdrs8.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrds.o: drtrds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrds.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrecs.o: drtrecs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrecs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrfgs.o: drtrfgs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrfgs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrbs2.h \
../include/dcmtk/dcmrt/seq/drtrcps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrsts.h \
../include/dcmtk/dcmrt/seq/drtrses.h ../include/dcmtk/dcmrt/seq/drtcis.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtrims.o: drtrims.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrims.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h
+ ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtris.o: drtris.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtris.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h
+ ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtrlsds.o: drtrlsds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrlsds.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrmdrs.o: drtrmdrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrmdrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrms.o: drtrms.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrms.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrmss6.o: drtrmss6.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrmss6.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrmss7.o: drtrmss7.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrmss7.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrpcs.o: drtrpcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrpcs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtrpis.o: drtrpis.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrpis.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h
+ ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h
drtrppcs.o: drtrppcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtrpphs.o: drtrpphs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
../include/dcmtk/dcmrt/seq/drtdirs.h \
- ../include/dcmtk/dcmrt/seq/drtrsos.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h
+ ../include/dcmtk/dcmrt/seq/drtrsos.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h
drtrpps.o: drtrpps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrpps.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrecs.h
drtrppss.o: drtrppss.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrps.o: drtrps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrris1.o: drtrris1.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrris1.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrris6.o: drtrris6.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrris6.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrris9.o: drtrris9.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrris9.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrrms.o: drtrrms.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrrms.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrros.o: drtrros.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrros.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtarics.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtrpps.h \
../include/dcmtk/dcmrt/seq/drtrecs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtrrros.o: drtrrros.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrrros.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrrs.o: drtrrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrrshs.o: drtrrshs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrrshs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrrtps.o: drtrrtps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrrtps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrfgs.h \
../include/dcmtk/dcmrt/seq/drtrbs2.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrrtps4.o: drtrrtps4.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrrtps4.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrrtps5.o: drtrrtps5.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrrtps5.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrscs.o: drtrscs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrscs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtrsers.o: drtrsers.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtris.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h
+ ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtrses.o: drtrses.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrses.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtcis.h
drtrshs.o: drtrshs.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrshs6.o: drtrshs6.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrshs6.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrshs7.o: drtrshs7.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrshs7.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrsis.o: drtrsis.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrsis.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrsns.o: drtrsns.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrsns.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrsos.o: drtrsos.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrsrs.o: drtrsrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrsrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrss.o: drtrss.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrss.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrsss.o: drtrsss.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrsss.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrsts.o: drtrsts.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrsts.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrses.h ../include/dcmtk/dcmrt/seq/drtcis.h
drtrtrs2.o: drtrtrs2.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrbs2.h \
../include/dcmtk/dcmrt/seq/drtrcps.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrvis.o: drtrvis.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrvis.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrws.o: drtrws.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrws.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtrwvms.o: drtrwvms.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtrwvms.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtmucs.h
+ ../include/dcmtk/dcmrt/seq/drtmucs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h ../include/dcmtk/dcmrt/seq/drtccs.h \
+ ../include/dcmtk/dcmrt/seq/drtcncs.h \
+ ../include/dcmtk/dcmrt/seq/drtrsos.h
drtscris.o: drtscris.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtscris.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../include/dcmtk/dcmrt/seq/drtris.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h
+ ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtsdcs.o: drtsdcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtsdcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtsds.o: drtsds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtsds.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtshds.o: drtshds.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtshds.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtsis.o: drtsis.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtsis.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtporcs.h
+ ../include/dcmtk/dcmrt/seq/drtporcs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtsns.o: drtsns.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtsns.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtspccs.o: drtspccs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtspccs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
- ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h
drtspcs.o: drtspcs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtspcs.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \
- ../include/dcmtk/dcmrt/seq/drtcncs.h \
+ ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtpcxs.h \
+ ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \
../include/dcmtk/dcmrt/seq/drtcims.h \
../include/dcmtk/dcmrt/seq/drtmucs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtssrs.o: drtssrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtssrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtdcs.h
+ ../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtecs.h
drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/drtstrct.h ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/oftypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpsss.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \
../include/dcmtk/dcmrt/seq/drtcis.h ../include/dcmtk/dcmrt/seq/drtrros.h \
../include/dcmtk/dcmrt/seq/drtarics.h \
../include/dcmtk/dcmrt/seq/drtrses.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrss.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drttms9.o: drttms9.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drttms9.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drttreat.o: drttreat.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/drttreat.h ../include/dcmtk/dcmrt/drttypes.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps4.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drttsibs.o: drttsibs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drttsibs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtas7.h \
../include/dcmtk/dcmrt/seq/drtbldls.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drttts.o: drttts.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drttts.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmrt/seq/drtbldts.h
drttypes.o: drttypes.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtvls.o: drtvls.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtvls.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtwps.o: drtwps.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtwps.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtwrs.o: drtwrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtwrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
+drtwrsrs.o: drtwrsrs.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/dcmrt/drttypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtws.o: drtws.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtws.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtxrs.o: drtxrs.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmrt/seq/drtxrs.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
drtaadcs.o drtadcs.o drtads.o drtafs.o drtags.o drtajcs.o drtarics.o \
drtas1.o drtas5.o drtas6.o drtas7.o drtass.o drtbads.o drtbas.o \
drtbcps.o drtbl2.o drtbl5.o drtbldls.o drtbldps.o drtblds1.o drtblds5.o \
- drtblds6.o drtbldts.o drtbrcss.o drtbrdrs.o drtbrs.o drtbs.o drtbvcps.o \
- drtcbars.o drtccs.o drtcctus.o drtcdrs.o drtces.o drtchs.o drtcims.o \
- drtcis.o drtcncs.o drtcos.o drtcpas.o drtcps.o drtcsas.o drtcs.o \
- drtcshs.o drtcsis.o drtcss.o drtdcs.o drtdimcs.o drtdimrs.o drtdirs.o \
- drtdrs.o drtds.o drtdspcs.o drtdss.o drtdvhs.o drtdvrrs.o drteas.o \
- drtes.o drtfds.o drtfes.o drtfgs.o drtfgss.o drtfms.o drtfsss.o \
- drtgas.o drthsdrs.o drtiais.o drtians.o drtiblds.o drtibls.o drtibs.o \
- drticpds.o drticps.o drtics.o drtiis.o drtipiqs.o drtircs.o drtiseis.o \
- drtitts.o drtiwps.o drtiws.o drtlsds6.o drtlsds7.o drtlsds.o drtmacds.o \
- drtmas.o drtmdrs.o drtmls.o drtmps.o drtmss.o drtmucs.o drtoas.o \
- drtois.o drtopis.o drtos.o drtpbcs.o drtpcs.o drtpcxs.o drtpfms.o \
- drtpics.o drtporcs.o drtporis.o drtppcs.o drtprsis.o drtpscs.o \
- drtpsics.o drtpss.o drtpsss.o drtpvis.o drtras.o drtrbas2.o drtrbas8.o \
- drtrbls.o drtrbos1.o drtrbos6.o drtrbos7.o drtrbs2.o drtrbs4.o drtrbs8.o \
- drtrcdrs.o drtrcos.o drtrcps.o drtrcs.o drtrdros.o drtrdrs1.o drtrdrs6.o \
- drtrdrs8.o drtrds.o drtrecs.o drtrfgs.o drtrfors.o drtrics.o drtrims.o \
- drtris.o drtrlsds.o drtrmdrs.o drtrms.o drtrmss6.o drtrmss7.o drtrpcs.o \
- drtrpis.o drtrppcs.o drtrpphs.o drtrpps.o drtrppss.o drtrps.o drtrris1.o \
- drtrris6.o drtrris9.o drtrrms.o drtrros.o drtrrpcs.o drtrrros.o drtrrs.o \
- drtrrshs.o drtrrtps3.o drtrrtps4.o drtrrtps5.o drtrrtps.o drtrscs.o \
- drtrsers.o drtrses.o drtrshs6.o drtrshs7.o drtrshs.o drtrsis.o drtrsns.o \
- drtrsos.o drtrsrs.o drtrss.o drtrsss.o drtrsts.o drtrtrs2.o drtrtrs4.o \
- drtrvis.o drtrws.o drtrwvms.o drtscris.o drtsdcs.o drtsds.o drtshds.o \
- drtsis.o drtsns.o drtspccs.o drtspcs.o drtss.o drtssrs.o drttms0.o \
- drttms9.o drttscds.o drttsibs.o drttsmds.o drttts.o drtvls.o drtwps.o \
- drtwrs.o drtws.o drtxrs.o
+ drtblds6.o drtbldts.o drtbrcss.o drtbrdrs.o drtbrs.o drtbs.o drtbss.o \
+ drtbvcps.o drtcbars.o drtccs.o drtcctus.o drtcdrs.o drtces.o drtchs.o \
+ drtcims.o drtcis.o drtcncs.o drtcos.o drtcpas.o drtcpis.o drtcps.o \
+ drtcsas.o drtcs.o drtcshs.o drtcsis.o drtcss.o drtdcs.o drtdias.o \
+ drtdimcs.o drtdimrs.o drtdirs.o drtdrs.o drtds.o drtdspcs.o drtdss.o \
+ drtdvhs.o drtdvrrs.o drteas.o drtecs.o drtes.o drtfds.o drtfes.o drtfgs.o \
+ drtfgss.o drtfms.o drtfsss.o drtgas.o drthsdrs.o drtiais.o drtians.o \
+ drtiblds.o drtibls.o drtibs.o drticpds.o drticps.o drtics.o drtiis.o \
+ drtipiqs.o drtircs.o drtiseis.o drtitts.o drtiwps.o drtiws.o drtlsds6.o \
+ drtlsds7.o drtlsds.o drtmacds.o drtmas.o drtmdrs.o drtmls.o drtmps.o \
+ drtmss.o drtmucs.o drtoas.o drtois.o drtopis.o drtos.o drtpbcs.o drtpcs.o \
+ drtpcxs.o drtpdecs.o drtpfms.o drtpics.o drtporcs.o drtporis.o drtppcs.o \
+ drtprsis.o drtpscs.o drtpsics.o drtpss.o drtpsss.o drtpvis.o drtqds.o \
+ drtras.o drtrbas2.o drtrbas8.o drtrbls.o drtrbos1.o drtrbos6.o drtrbos7.o \
+ drtrbs2.o drtrbs4.o drtrbs8.o drtrcdrs.o drtrcos.o drtrcps.o drtrcs.o \
+ drtrdros.o drtrdrs1.o drtrdrs6.o drtrdrs8.o drtrds.o drtrecs.o drtrfgs.o \
+ drtrfors.o drtrics.o drtrims.o drtris.o drtrlsds.o drtrmdrs.o drtrms.o \
+ drtrmss6.o drtrmss7.o drtrpcs.o drtrpis.o drtrppcs.o drtrpphs.o drtrpps.o \
+ drtrppss.o drtrps.o drtrris1.o drtrris6.o drtrris9.o drtrrms.o drtrros.o \
+ drtrrpcs.o drtrrros.o drtrrs.o drtrrshs.o drtrrtps3.o drtrrtps4.o \
+ drtrrtps5.o drtrrtps.o drtrscs.o drtrsers.o drtrses.o drtrshs6.o \
+ drtrshs7.o drtrshs.o drtrsis.o drtrsns.o drtrsos.o drtrsrs.o drtrss.o \
+ drtrsss.o drtrsts.o drtrtrs2.o drtrtrs4.o drtrvis.o drtrws.o drtrwvms.o \
+ drtscris.o drtsdcs.o drtsds.o drtshds.o drtsis.o drtsns.o drtspccs.o \
+ drtspcs.o drtss.o drtssrs.o drttms0.o drttms9.o drttscds.o drttsibs.o \
+ drttsmds.o drttts.o drtvls.o drtwps.o drtwrs.o drtwrsrs.o drtws.o drtxrs.o
library = libdcmrt.$(LIBEXT)
/*
*
- * Copyright (C) 2012, OFFIS e.V.
+ * Copyright (C) 2012-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
signedT getPixelSigned(Uint32 pixelNumber)
{
signedT result;
- if (pixelData_.getPartialValue(&result, pixelNumber * sizeof(signedT), sizeof(signedT)).bad())
+ if (pixelData_.getPartialValue(&result, OFstatic_cast(Uint32, pixelNumber * sizeof(signedT)), OFstatic_cast(Uint32, sizeof(signedT))).bad())
return -1;
return result;
}
unsignedT getPixelUnsigned(Uint32 pixelNumber)
{
unsignedT result;
- if (pixelData_.getPartialValue(&result, pixelNumber * sizeof(unsignedT), sizeof(unsignedT)).bad())
+ if (pixelData_.getPartialValue(&result, OFstatic_cast(Uint32, pixelNumber * sizeof(unsignedT)), OFstatic_cast(Uint32, sizeof(unsignedT))).bad())
return -1;
return result;
}
cond = EC_MemoryExhausted;
} else {
// First, get the "raw" pixel data
- cond = pixelData_.getPartialValue(tmp, offset * sizeof(signedT), length * sizeof(signedT));
+ cond = pixelData_.getPartialValue(tmp, OFstatic_cast(Uint32, offset * sizeof(signedT)), OFstatic_cast(Uint32, length * sizeof(signedT)));
if (cond.good()) {
result.clear();
result.reserve(length);
cond = EC_MemoryExhausted;
} else {
// First, get the "raw" pixel data
- cond = pixelData_.getPartialValue(tmp, offset * sizeof(unsignedT), length * sizeof(unsignedT));
+ cond = pixelData_.getPartialValue(tmp, OFstatic_cast(Uint32, offset * sizeof(unsignedT)), OFstatic_cast(Uint32, length * sizeof(unsignedT)));
if (cond.good()) {
result.clear();
result.reserve(length);
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTAssigningAgencyOrDepartmentCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AssigningAgencyOrDepartmentCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AssigningAgencyOrDepartmentCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AssigningAgencyOrDepartmentCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AssigningAgencyOrDepartmentCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AssigningAgencyOrDepartmentCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AssigningAgencyOrDepartmentCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AssigningAgencyOrDepartmentCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence");
}
+OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTAssigningAgencyOrDepartmentCodeSequence::DRTAssigningAgencyOrDepartmentCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTAdmittingDiagnosesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AdmittingDiagnosesCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AdmittingDiagnosesCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AdmittingDiagnosesCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AdmittingDiagnosesCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AdmittingDiagnosesCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AdmittingDiagnosesCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AdmittingDiagnosesCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AdmittingDiagnosesCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AdmittingDiagnosesCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AdmittingDiagnosesCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AdmittingDiagnosesCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AdmittingDiagnosesCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AdmittingDiagnosesCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AdmittingDiagnosesCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AdmittingDiagnosesCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AdmittingDiagnosesCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AdmittingDiagnosesCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AdmittingDiagnosesCodeSequence");
}
+OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTAdmittingDiagnosesCodeSequence::DRTAdmittingDiagnosesCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTAdditionalDrugSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AdditionalDrugSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AdditionalDrugSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AdditionalDrugSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AdditionalDrugSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AdditionalDrugSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AdditionalDrugSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AdditionalDrugSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AdditionalDrugSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AdditionalDrugSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AdditionalDrugSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AdditionalDrugSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AdditionalDrugSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AdditionalDrugSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AdditionalDrugSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AdditionalDrugSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AdditionalDrugSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AdditionalDrugSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AdditionalDrugSequence");
}
+OFCondition DRTAdditionalDrugSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTAdditionalDrugSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTAdditionalDrugSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTAdditionalDrugSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTAdditionalDrugSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAdditionalDrugSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTAdditionalDrugSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAdditionalDrugSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTAdditionalDrugSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTAdditionalDrugSequence::DRTAdditionalDrugSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTAssigningFacilitySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTApplicatorGeometrySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTAssigningJurisdictionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AssigningJurisdictionCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AssigningJurisdictionCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AssigningJurisdictionCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AssigningJurisdictionCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AssigningJurisdictionCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AssigningJurisdictionCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AssigningJurisdictionCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AssigningJurisdictionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AssigningJurisdictionCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AssigningJurisdictionCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AssigningJurisdictionCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AssigningJurisdictionCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AssigningJurisdictionCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AssigningJurisdictionCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AssigningJurisdictionCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AssigningJurisdictionCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AssigningJurisdictionCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AssigningJurisdictionCodeSequence");
}
+OFCondition DRTAssigningJurisdictionCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTAssigningJurisdictionCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTAssigningJurisdictionCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTAssigningJurisdictionCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTAssigningJurisdictionCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAssigningJurisdictionCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTAssigningJurisdictionCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAssigningJurisdictionCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTAssigningJurisdictionCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTAssigningJurisdictionCodeSequence::DRTAssigningJurisdictionCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTAdditionalRTROIIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
MappingResource(DCM_MappingResource),
- PurposeOfReferenceCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/)
+ MappingResourceUID(DCM_MappingResourceUID),
+ PurposeOfReferenceCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
MappingResource(copy.MappingResource),
- PurposeOfReferenceCodeSequence(copy.PurposeOfReferenceCodeSequence)
+ MappingResourceUID(copy.MappingResourceUID),
+ PurposeOfReferenceCodeSequence(copy.PurposeOfReferenceCodeSequence),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
PurposeOfReferenceCodeSequence = copy.PurposeOfReferenceCodeSequence;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AdditionalRTROIIdentificationCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AdditionalRTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AdditionalRTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AdditionalRTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AdditionalRTROIIdentificationCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AdditionalRTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AdditionalRTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AdditionalRTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AdditionalRTROIIdentificationCodeSequence");
}
+OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTAdditionalRTROIIdentificationCodeSequence::DRTAdditionalRTROIIdentificationCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTApplicatorSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTApplicatorSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTApplicatorSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTApplicatorSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTApplicationSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBrachyAccessoryDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTContrastBolusAgentSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ContrastBolusAgentSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ContrastBolusAgentSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ContrastBolusAgentSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ContrastBolusAgentSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ContrastBolusAgentSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ContrastBolusAgentSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ContrastBolusAgentSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ContrastBolusAgentSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ContrastBolusAgentSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ContrastBolusAgentSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ContrastBolusAgentSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ContrastBolusAgentSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ContrastBolusAgentSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ContrastBolusAgentSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ContrastBolusAgentSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ContrastBolusAgentSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ContrastBolusAgentSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ContrastBolusAgentSequence");
}
+OFCondition DRTContrastBolusAgentSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTContrastBolusAgentSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTContrastBolusAgentSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTContrastBolusAgentSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTContrastBolusAgentSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTContrastBolusAgentSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTContrastBolusAgentSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTContrastBolusAgentSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTContrastBolusAgentSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTContrastBolusAgentSequence::DRTContrastBolusAgentSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBrachyControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBlockSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBlockSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamLimitingDeviceLeafPairsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamLimitingDevicePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamLimitingDeviceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamLimitingDeviceSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamLimitingDeviceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamLimitingDeviceToleranceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBreedRegistryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "BreedRegistryCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "BreedRegistryCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "BreedRegistryCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "BreedRegistryCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "BreedRegistryCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "BreedRegistryCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "BreedRegistryCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "BreedRegistryCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "BreedRegistryCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "BreedRegistryCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "BreedRegistryCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "BreedRegistryCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "BreedRegistryCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "BreedRegistryCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "BreedRegistryCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "BreedRegistryCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "BreedRegistryCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "BreedRegistryCodeSequence");
}
+OFCondition DRTBreedRegistryCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTBreedRegistryCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTBreedRegistryCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTBreedRegistryCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTBreedRegistryCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTBreedRegistryCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTBreedRegistryCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTBreedRegistryCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTBreedRegistryCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTBreedRegistryCodeSequence::DRTBreedRegistryCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBrachyReferencedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBreedRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTBlockSlabSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtbss.h"
+
+
+// --- item class ---
+
+DRTBlockSlabSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ AccessoryCode(DCM_AccessoryCode),
+ BlockSlabNumber(DCM_BlockSlabNumber),
+ BlockSlabThickness(DCM_BlockSlabThickness)
+{
+}
+
+
+DRTBlockSlabSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ AccessoryCode(copy.AccessoryCode),
+ BlockSlabNumber(copy.BlockSlabNumber),
+ BlockSlabThickness(copy.BlockSlabThickness)
+{
+}
+
+
+DRTBlockSlabSequence::Item::~Item()
+{
+}
+
+
+DRTBlockSlabSequence::Item &DRTBlockSlabSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ AccessoryCode = copy.AccessoryCode;
+ BlockSlabNumber = copy.BlockSlabNumber;
+ BlockSlabThickness = copy.BlockSlabThickness;
+ }
+ return *this;
+}
+
+
+void DRTBlockSlabSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ BlockSlabNumber.clear();
+ BlockSlabThickness.clear();
+ AccessoryCode.clear();
+ }
+}
+
+
+OFBool DRTBlockSlabSequence::Item::isEmpty()
+{
+ return BlockSlabNumber.isEmpty() &&
+ BlockSlabThickness.isEmpty() &&
+ AccessoryCode.isEmpty();
+}
+
+
+OFBool DRTBlockSlabSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, BlockSlabNumber, "1", "1", "BlockSlabSequence");
+ getAndCheckElementFromDataset(item, BlockSlabThickness, "1", "3", "BlockSlabSequence");
+ getAndCheckElementFromDataset(item, AccessoryCode, "1", "3", "BlockSlabSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmUnsignedShort(BlockSlabNumber), "1", "1", "BlockSlabSequence");
+ addElementToDataset(result, item, new DcmDecimalString(BlockSlabThickness), "1", "3", "BlockSlabSequence");
+ addElementToDataset(result, item, new DcmLongString(AccessoryCode), "1", "3", "BlockSlabSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::getAccessoryCode(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(AccessoryCode, value, pos);
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::getBlockSlabNumber(Uint16 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmUnsignedShort &, BlockSlabNumber).getUint16(value, pos);
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::getBlockSlabThickness(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(BlockSlabThickness, value, pos);
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::getBlockSlabThickness(Float64 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmDecimalString &, BlockSlabThickness).getFloat64(value, pos);
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::setAccessoryCode(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = AccessoryCode.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::setBlockSlabNumber(const Uint16 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return BlockSlabNumber.putUint16(value, pos);
+}
+
+
+OFCondition DRTBlockSlabSequence::Item::setBlockSlabThickness(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = BlockSlabThickness.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+// --- sequence class ---
+
+DRTBlockSlabSequence::DRTBlockSlabSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTBlockSlabSequence::DRTBlockSlabSequence(const DRTBlockSlabSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTBlockSlabSequence &DRTBlockSlabSequence::operator=(const DRTBlockSlabSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTBlockSlabSequence::~DRTBlockSlabSequence()
+{
+ clear();
+}
+
+
+void DRTBlockSlabSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTBlockSlabSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTBlockSlabSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+unsigned long DRTBlockSlabSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTBlockSlabSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::gotoItem(const unsigned long num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTBlockSlabSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTBlockSlabSequence::getItem(const unsigned long num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getItem(const unsigned long num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getItem(const unsigned long num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTBlockSlabSequence::Item &DRTBlockSlabSequence::operator[](const unsigned long num)
+{
+ return getItem(num);
+}
+
+
+const DRTBlockSlabSequence::Item &DRTBlockSlabSequence::operator[](const unsigned long num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTBlockSlabSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::insertItem(const unsigned long pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::removeItem(const unsigned long pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_BlockSlabSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_BlockSlabSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTBlockSlabSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_BlockSlabSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTBeamDoseVerificationControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
AverageBeamDosePointDepth(DCM_AverageBeamDosePointDepth),
AverageBeamDosePointEquivalentDepth(DCM_AverageBeamDosePointEquivalentDepth),
AverageBeamDosePointSSD(DCM_AverageBeamDosePointSSD),
+ AverageBeamDosePointSourceToExternalContourSurfaceDistance(DCM_AverageBeamDosePointSourceToExternalContourSurfaceDistance),
CumulativeMetersetWeight(DCM_CumulativeMetersetWeight),
ReferencedControlPointIndex(DCM_ReferencedControlPointIndex)
{
AverageBeamDosePointDepth(copy.AverageBeamDosePointDepth),
AverageBeamDosePointEquivalentDepth(copy.AverageBeamDosePointEquivalentDepth),
AverageBeamDosePointSSD(copy.AverageBeamDosePointSSD),
+ AverageBeamDosePointSourceToExternalContourSurfaceDistance(copy.AverageBeamDosePointSourceToExternalContourSurfaceDistance),
CumulativeMetersetWeight(copy.CumulativeMetersetWeight),
ReferencedControlPointIndex(copy.ReferencedControlPointIndex)
{
AverageBeamDosePointDepth = copy.AverageBeamDosePointDepth;
AverageBeamDosePointEquivalentDepth = copy.AverageBeamDosePointEquivalentDepth;
AverageBeamDosePointSSD = copy.AverageBeamDosePointSSD;
+ AverageBeamDosePointSourceToExternalContourSurfaceDistance = copy.AverageBeamDosePointSourceToExternalContourSurfaceDistance;
CumulativeMetersetWeight = copy.CumulativeMetersetWeight;
ReferencedControlPointIndex = copy.ReferencedControlPointIndex;
}
AverageBeamDosePointDepth.clear();
AverageBeamDosePointEquivalentDepth.clear();
AverageBeamDosePointSSD.clear();
+ AverageBeamDosePointSourceToExternalContourSurfaceDistance.clear();
}
}
ReferencedControlPointIndex.isEmpty() &&
AverageBeamDosePointDepth.isEmpty() &&
AverageBeamDosePointEquivalentDepth.isEmpty() &&
- AverageBeamDosePointSSD.isEmpty();
+ AverageBeamDosePointSSD.isEmpty() &&
+ AverageBeamDosePointSourceToExternalContourSurfaceDistance.isEmpty();
}
getAndCheckElementFromDataset(item, AverageBeamDosePointDepth, "1", "2C", "BeamDoseVerificationControlPointSequence");
getAndCheckElementFromDataset(item, AverageBeamDosePointEquivalentDepth, "1", "2C", "BeamDoseVerificationControlPointSequence");
getAndCheckElementFromDataset(item, AverageBeamDosePointSSD, "1", "2C", "BeamDoseVerificationControlPointSequence");
+ getAndCheckElementFromDataset(item, AverageBeamDosePointSourceToExternalContourSurfaceDistance, "1", "3", "BeamDoseVerificationControlPointSequence");
result = EC_Normal;
}
return result;
addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointDepth), "1", "2C", "BeamDoseVerificationControlPointSequence");
addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointEquivalentDepth), "1", "2C", "BeamDoseVerificationControlPointSequence");
addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointSSD), "1", "2C", "BeamDoseVerificationControlPointSequence");
+ addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointSourceToExternalContourSurfaceDistance), "1", "3", "BeamDoseVerificationControlPointSequence");
}
return result;
}
}
+OFCondition DRTBeamDoseVerificationControlPointSequence::Item::getAverageBeamDosePointSourceToExternalContourSurfaceDistance(Float32 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmFloatingPointSingle &, AverageBeamDosePointSourceToExternalContourSurfaceDistance).getFloat32(value, pos);
+}
+
+
OFCondition DRTBeamDoseVerificationControlPointSequence::Item::getCumulativeMetersetWeight(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTBeamDoseVerificationControlPointSequence::Item::setAverageBeamDosePointSourceToExternalContourSurfaceDistance(const Float32 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return AverageBeamDosePointSourceToExternalContourSurfaceDistance.putFloat32(value, pos);
+}
+
+
OFCondition DRTBeamDoseVerificationControlPointSequence::Item::setCumulativeMetersetWeight(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTContrastBolusAdministrationRouteSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ContrastBolusAdministrationRouteSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ContrastBolusAdministrationRouteSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ContrastBolusAdministrationRouteSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ContrastBolusAdministrationRouteSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ContrastBolusAdministrationRouteSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ContrastBolusAdministrationRouteSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ContrastBolusAdministrationRouteSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ContrastBolusAdministrationRouteSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ContrastBolusAdministrationRouteSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ContrastBolusAdministrationRouteSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ContrastBolusAdministrationRouteSequence");
}
+OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTContrastBolusAdministrationRouteSequence::DRTContrastBolusAdministrationRouteSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTConceptCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ConceptCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ConceptCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ConceptCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ConceptCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ConceptCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ConceptCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ConceptCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ConceptCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ConceptCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ConceptCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ConceptCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ConceptCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ConceptCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ConceptCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ConceptCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ConceptCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ConceptCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ConceptCodeSequence");
}
+OFCondition DRTConceptCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTConceptCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTConceptCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTConceptCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTConceptCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTConceptCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTConceptCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTConceptCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTConceptCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTConceptCodeSequence::DRTConceptCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTConsentForClinicalTrialUseSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTContributingEquipmentSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTChannelSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTContentItemModifierSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTContourImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTConceptNameCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ConceptNameCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ConceptNameCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ConceptNameCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ConceptNameCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ConceptNameCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ConceptNameCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ConceptNameCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ConceptNameCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ConceptNameCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ConceptNameCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ConceptNameCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ConceptNameCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ConceptNameCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ConceptNameCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ConceptNameCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ConceptNameCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ConceptNameCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ConceptNameCodeSequence");
}
+OFCondition DRTConceptNameCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTConceptNameCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTConceptNameCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTConceptNameCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTConceptNameCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTConceptNameCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTConceptNameCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTConceptNameCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTConceptNameCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTConceptNameCodeSequence::DRTConceptNameCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTCorrectedParameterSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTConsultingPhysicianIdentificationSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtcpis.h"
+
+
+// --- item class ---
+
+DRTConsultingPhysicianIdentificationSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ InstitutionAddress(DCM_InstitutionAddress),
+ InstitutionCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ InstitutionName(DCM_InstitutionName),
+ PersonAddress(DCM_PersonAddress),
+ PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ PersonTelecomInformation(DCM_PersonTelecomInformation),
+ PersonTelephoneNumbers(DCM_PersonTelephoneNumbers)
+{
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ InstitutionAddress(copy.InstitutionAddress),
+ InstitutionCodeSequence(copy.InstitutionCodeSequence),
+ InstitutionName(copy.InstitutionName),
+ PersonAddress(copy.PersonAddress),
+ PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence),
+ PersonTelecomInformation(copy.PersonTelecomInformation),
+ PersonTelephoneNumbers(copy.PersonTelephoneNumbers)
+{
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::Item::~Item()
+{
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ InstitutionAddress = copy.InstitutionAddress;
+ InstitutionCodeSequence = copy.InstitutionCodeSequence;
+ InstitutionName = copy.InstitutionName;
+ PersonAddress = copy.PersonAddress;
+ PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence;
+ PersonTelecomInformation = copy.PersonTelecomInformation;
+ PersonTelephoneNumbers = copy.PersonTelephoneNumbers;
+ }
+ return *this;
+}
+
+
+void DRTConsultingPhysicianIdentificationSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ PersonIdentificationCodeSequence.clear();
+ PersonAddress.clear();
+ PersonTelephoneNumbers.clear();
+ PersonTelecomInformation.clear();
+ InstitutionName.clear();
+ InstitutionAddress.clear();
+ InstitutionCodeSequence.clear();
+ }
+}
+
+
+OFBool DRTConsultingPhysicianIdentificationSequence::Item::isEmpty()
+{
+ return PersonIdentificationCodeSequence.isEmpty() &&
+ PersonAddress.isEmpty() &&
+ PersonTelephoneNumbers.isEmpty() &&
+ PersonTelecomInformation.isEmpty() &&
+ InstitutionName.isEmpty() &&
+ InstitutionAddress.isEmpty() &&
+ InstitutionCodeSequence.isEmpty();
+}
+
+
+OFBool DRTConsultingPhysicianIdentificationSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ PersonIdentificationCodeSequence.read(item, "1-n", "1", "ConsultingPhysicianIdentificationSequence");
+ getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "ConsultingPhysicianIdentificationSequence");
+ getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "ConsultingPhysicianIdentificationSequence");
+ getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "ConsultingPhysicianIdentificationSequence");
+ getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "ConsultingPhysicianIdentificationSequence");
+ getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "ConsultingPhysicianIdentificationSequence");
+ InstitutionCodeSequence.read(item, "1-n", "1C", "ConsultingPhysicianIdentificationSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "ConsultingPhysicianIdentificationSequence");
+ addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "ConsultingPhysicianIdentificationSequence");
+ addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "ConsultingPhysicianIdentificationSequence");
+ addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "ConsultingPhysicianIdentificationSequence");
+ addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "ConsultingPhysicianIdentificationSequence");
+ addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "ConsultingPhysicianIdentificationSequence");
+ if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "ConsultingPhysicianIdentificationSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getInstitutionAddress(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(InstitutionAddress, value, pos);
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getInstitutionName(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(InstitutionName, value, pos);
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getPersonAddress(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonAddress, value, pos);
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonTelecomInformation, value, pos);
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonTelephoneNumbers, value, pos);
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setInstitutionAddress(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = InstitutionAddress.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setInstitutionName(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = InstitutionName.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setPersonAddress(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = PersonAddress.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = PersonTelecomInformation.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = PersonTelephoneNumbers.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+// --- sequence class ---
+
+DRTConsultingPhysicianIdentificationSequence::DRTConsultingPhysicianIdentificationSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::DRTConsultingPhysicianIdentificationSequence(const DRTConsultingPhysicianIdentificationSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTConsultingPhysicianIdentificationSequence &DRTConsultingPhysicianIdentificationSequence::operator=(const DRTConsultingPhysicianIdentificationSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::~DRTConsultingPhysicianIdentificationSequence()
+{
+ clear();
+}
+
+
+void DRTConsultingPhysicianIdentificationSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTConsultingPhysicianIdentificationSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTConsultingPhysicianIdentificationSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+unsigned long DRTConsultingPhysicianIdentificationSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::gotoItem(const unsigned long num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::getItem(const unsigned long num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getItem(const unsigned long num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getItem(const unsigned long num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::operator[](const unsigned long num)
+{
+ return getItem(num);
+}
+
+
+const DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::operator[](const unsigned long num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::insertItem(const unsigned long pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::removeItem(const unsigned long pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_ConsultingPhysicianIdentificationSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_ConsultingPhysicianIdentificationSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTConsultingPhysicianIdentificationSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_ConsultingPhysicianIdentificationSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ControlPointIndex(DCM_ControlPointIndex),
CumulativeMetersetWeight(DCM_CumulativeMetersetWeight),
DoseRateSet(DCM_DoseRateSet),
+ ExternalContourEntryPoint(DCM_ExternalContourEntryPoint),
GantryAngle(DCM_GantryAngle),
GantryPitchAngle(DCM_GantryPitchAngle),
GantryPitchRotationDirection(DCM_GantryPitchRotationDirection),
PatientSupportRotationDirection(DCM_PatientSupportRotationDirection),
ReferencedDoseReferenceSequence(emptyDefaultItem /*emptyDefaultSequence*/),
ReferencedDoseSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ SourceToExternalContourDistance(DCM_SourceToExternalContourDistance),
SourceToSurfaceDistance(DCM_SourceToSurfaceDistance),
SurfaceEntryPoint(DCM_SurfaceEntryPoint),
TableTopEccentricAngle(DCM_TableTopEccentricAngle),
ControlPointIndex(copy.ControlPointIndex),
CumulativeMetersetWeight(copy.CumulativeMetersetWeight),
DoseRateSet(copy.DoseRateSet),
+ ExternalContourEntryPoint(copy.ExternalContourEntryPoint),
GantryAngle(copy.GantryAngle),
GantryPitchAngle(copy.GantryPitchAngle),
GantryPitchRotationDirection(copy.GantryPitchRotationDirection),
PatientSupportRotationDirection(copy.PatientSupportRotationDirection),
ReferencedDoseReferenceSequence(copy.ReferencedDoseReferenceSequence),
ReferencedDoseSequence(copy.ReferencedDoseSequence),
+ SourceToExternalContourDistance(copy.SourceToExternalContourDistance),
SourceToSurfaceDistance(copy.SourceToSurfaceDistance),
SurfaceEntryPoint(copy.SurfaceEntryPoint),
TableTopEccentricAngle(copy.TableTopEccentricAngle),
ControlPointIndex = copy.ControlPointIndex;
CumulativeMetersetWeight = copy.CumulativeMetersetWeight;
DoseRateSet = copy.DoseRateSet;
+ ExternalContourEntryPoint = copy.ExternalContourEntryPoint;
GantryAngle = copy.GantryAngle;
GantryPitchAngle = copy.GantryPitchAngle;
GantryPitchRotationDirection = copy.GantryPitchRotationDirection;
PatientSupportRotationDirection = copy.PatientSupportRotationDirection;
ReferencedDoseReferenceSequence = copy.ReferencedDoseReferenceSequence;
ReferencedDoseSequence = copy.ReferencedDoseSequence;
+ SourceToExternalContourDistance = copy.SourceToExternalContourDistance;
SourceToSurfaceDistance = copy.SourceToSurfaceDistance;
SurfaceEntryPoint = copy.SurfaceEntryPoint;
TableTopEccentricAngle = copy.TableTopEccentricAngle;
TableTopLateralPosition.clear();
IsocenterPosition.clear();
SurfaceEntryPoint.clear();
+ ExternalContourEntryPoint.clear();
SourceToSurfaceDistance.clear();
+ SourceToExternalContourDistance.clear();
}
}
TableTopLateralPosition.isEmpty() &&
IsocenterPosition.isEmpty() &&
SurfaceEntryPoint.isEmpty() &&
- SourceToSurfaceDistance.isEmpty();
+ ExternalContourEntryPoint.isEmpty() &&
+ SourceToSurfaceDistance.isEmpty() &&
+ SourceToExternalContourDistance.isEmpty();
}
getAndCheckElementFromDataset(item, TableTopLateralPosition, "1", "2C", "ControlPointSequence");
getAndCheckElementFromDataset(item, IsocenterPosition, "3", "2C", "ControlPointSequence");
getAndCheckElementFromDataset(item, SurfaceEntryPoint, "3", "3", "ControlPointSequence");
+ getAndCheckElementFromDataset(item, ExternalContourEntryPoint, "3", "3", "ControlPointSequence");
getAndCheckElementFromDataset(item, SourceToSurfaceDistance, "1", "3", "ControlPointSequence");
+ getAndCheckElementFromDataset(item, SourceToExternalContourDistance, "1", "3", "ControlPointSequence");
result = EC_Normal;
}
return result;
addElementToDataset(result, item, new DcmDecimalString(TableTopLateralPosition), "1", "2C", "ControlPointSequence");
addElementToDataset(result, item, new DcmDecimalString(IsocenterPosition), "3", "2C", "ControlPointSequence");
addElementToDataset(result, item, new DcmDecimalString(SurfaceEntryPoint), "3", "3", "ControlPointSequence");
+ addElementToDataset(result, item, new DcmFloatingPointSingle(ExternalContourEntryPoint), "3", "3", "ControlPointSequence");
addElementToDataset(result, item, new DcmDecimalString(SourceToSurfaceDistance), "1", "3", "ControlPointSequence");
+ addElementToDataset(result, item, new DcmFloatingPointSingle(SourceToExternalContourDistance), "1", "3", "ControlPointSequence");
}
return result;
}
}
+OFCondition DRTControlPointSequence::Item::getExternalContourEntryPoint(Float32 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmFloatingPointSingle &, ExternalContourEntryPoint).getFloat32(value, pos);
+}
+
+
OFCondition DRTControlPointSequence::Item::getGantryAngle(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTControlPointSequence::Item::getSourceToExternalContourDistance(Float32 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmFloatingPointSingle &, SourceToExternalContourDistance).getFloat32(value, pos);
+}
+
+
OFCondition DRTControlPointSequence::Item::getSourceToSurfaceDistance(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTControlPointSequence::Item::setExternalContourEntryPoint(const Float32 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return ExternalContourEntryPoint.putFloat32(value, pos);
+}
+
+
OFCondition DRTControlPointSequence::Item::setGantryAngle(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTControlPointSequence::Item::setSourceToExternalContourDistance(const Float32 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return SourceToExternalContourDistance.putFloat32(value, pos);
+}
+
+
OFCondition DRTControlPointSequence::Item::setSourceToSurfaceDistance(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTContourSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTConversionSourceAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTChannelShieldSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTCodingSchemeIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTChannelSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ChannelSourceSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ChannelSourceSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ChannelSourceSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ChannelSourceSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ChannelSourceSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ChannelSourceSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ChannelSourceSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ChannelSourceSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ChannelSourceSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ChannelSourceSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ChannelSourceSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ChannelSourceSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ChannelSourceSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ChannelSourceSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ChannelSourceSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ChannelSourceSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ChannelSourceSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ChannelSourceSequence");
}
+OFCondition DRTChannelSourceSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTChannelSourceSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTChannelSourceSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTChannelSourceSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTChannelSourceSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTChannelSourceSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTChannelSourceSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTChannelSourceSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTChannelSourceSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTChannelSourceSequence::DRTChannelSourceSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDerivationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DerivationCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DerivationCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DerivationCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DerivationCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DerivationCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DerivationCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DerivationCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DerivationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DerivationCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DerivationCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DerivationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DerivationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DerivationCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DerivationCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DerivationCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DerivationCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DerivationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DerivationCodeSequence");
}
+OFCondition DRTDerivationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTDerivationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTDerivationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTDerivationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTDerivationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDerivationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTDerivationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDerivationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTDerivationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTDerivationCodeSequence::DRTDerivationCodeSequence(const OFBool emptyDefaultSequence)
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTDeidentificationActionSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtdias.h"
+
+
+// --- item class ---
+
+DRTDeidentificationActionSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ DeidentificationAction(DCM_DeidentificationAction),
+ IdentifyingPrivateElements(DCM_IdentifyingPrivateElements)
+{
+}
+
+
+DRTDeidentificationActionSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ DeidentificationAction(copy.DeidentificationAction),
+ IdentifyingPrivateElements(copy.IdentifyingPrivateElements)
+{
+}
+
+
+DRTDeidentificationActionSequence::Item::~Item()
+{
+}
+
+
+DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ DeidentificationAction = copy.DeidentificationAction;
+ IdentifyingPrivateElements = copy.IdentifyingPrivateElements;
+ }
+ return *this;
+}
+
+
+void DRTDeidentificationActionSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ IdentifyingPrivateElements.clear();
+ DeidentificationAction.clear();
+ }
+}
+
+
+OFBool DRTDeidentificationActionSequence::Item::isEmpty()
+{
+ return IdentifyingPrivateElements.isEmpty() &&
+ DeidentificationAction.isEmpty();
+}
+
+
+OFBool DRTDeidentificationActionSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, IdentifyingPrivateElements, "1-n", "1", "DeidentificationActionSequence");
+ getAndCheckElementFromDataset(item, DeidentificationAction, "1", "1", "DeidentificationActionSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmUnsignedShort(IdentifyingPrivateElements), "1-n", "1", "DeidentificationActionSequence");
+ addElementToDataset(result, item, new DcmCodeString(DeidentificationAction), "1", "1", "DeidentificationActionSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::Item::getDeidentificationAction(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(DeidentificationAction, value, pos);
+}
+
+
+OFCondition DRTDeidentificationActionSequence::Item::getIdentifyingPrivateElements(Uint16 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmUnsignedShort &, IdentifyingPrivateElements).getUint16(value, pos);
+}
+
+
+OFCondition DRTDeidentificationActionSequence::Item::setDeidentificationAction(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = DeidentificationAction.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::Item::setIdentifyingPrivateElements(const Uint16 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return IdentifyingPrivateElements.putUint16(value, pos);
+}
+
+
+// --- sequence class ---
+
+DRTDeidentificationActionSequence::DRTDeidentificationActionSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTDeidentificationActionSequence::DRTDeidentificationActionSequence(const DRTDeidentificationActionSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTDeidentificationActionSequence &DRTDeidentificationActionSequence::operator=(const DRTDeidentificationActionSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTDeidentificationActionSequence::~DRTDeidentificationActionSequence()
+{
+ clear();
+}
+
+
+void DRTDeidentificationActionSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTDeidentificationActionSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTDeidentificationActionSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+unsigned long DRTDeidentificationActionSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTDeidentificationActionSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::gotoItem(const unsigned long num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTDeidentificationActionSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::getItem(const unsigned long num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getItem(const unsigned long num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getItem(const unsigned long num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::operator[](const unsigned long num)
+{
+ return getItem(num);
+}
+
+
+const DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::operator[](const unsigned long num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTDeidentificationActionSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::insertItem(const unsigned long pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::removeItem(const unsigned long pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_DeidentificationActionSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_DeidentificationActionSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationActionSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_DeidentificationActionSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDeidentificationMethodCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DeidentificationMethodCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DeidentificationMethodCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DeidentificationMethodCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DeidentificationMethodCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DeidentificationMethodCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DeidentificationMethodCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DeidentificationMethodCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DeidentificationMethodCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DeidentificationMethodCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DeidentificationMethodCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DeidentificationMethodCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DeidentificationMethodCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DeidentificationMethodCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DeidentificationMethodCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DeidentificationMethodCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DeidentificationMethodCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DeidentificationMethodCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DeidentificationMethodCodeSequence");
}
+OFCondition DRTDeidentificationMethodCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTDeidentificationMethodCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTDeidentificationMethodCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTDeidentificationMethodCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTDeidentificationMethodCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDeidentificationMethodCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTDeidentificationMethodCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDeidentificationMethodCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTDeidentificationMethodCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTDeidentificationMethodCodeSequence::DRTDeidentificationMethodCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDICOMMediaRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDICOMRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDoseIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
StudyTime(DCM_StudyTime),
ReferringPhysicianName(DCM_ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(),
+ ConsultingPhysicianName(DCM_ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(),
StudyID(DCM_StudyID),
AccessionNumber(DCM_AccessionNumber),
IssuerOfAccessionNumberSequence(),
PixelPaddingRangeLimit(DCM_PixelPaddingRangeLimit),
NumberOfFrames(DCM_NumberOfFrames),
FrameIncrementPointer(DCM_FrameIncrementPointer),
+ StereoPairsPresent(DCM_StereoPairsPresent),
OverlayRows(DCM_OverlayRows),
OverlayColumns(DCM_OverlayColumns),
OverlayType(DCM_OverlayType),
QueryRetrieveView(DCM_QueryRetrieveView),
ConversionSourceAttributesSequence(),
ContentQualification(DCM_ContentQualification),
+ PrivateDataElementCharacteristicsSequence(),
ReferencedSeriesSequence(),
StudiesContainingOtherReferencedInstancesSequence(),
FrameExtractionSequence()
StudyTime(copy.StudyTime),
ReferringPhysicianName(copy.ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
+ ConsultingPhysicianName(copy.ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
StudyID(copy.StudyID),
AccessionNumber(copy.AccessionNumber),
IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
PixelPaddingRangeLimit(copy.PixelPaddingRangeLimit),
NumberOfFrames(copy.NumberOfFrames),
FrameIncrementPointer(copy.FrameIncrementPointer),
+ StereoPairsPresent(copy.StereoPairsPresent),
OverlayRows(copy.OverlayRows),
OverlayColumns(copy.OverlayColumns),
OverlayType(copy.OverlayType),
QueryRetrieveView(copy.QueryRetrieveView),
ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
ContentQualification(copy.ContentQualification),
+ PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence),
FrameExtractionSequence(copy.FrameExtractionSequence)
StudyTime = copy.StudyTime;
ReferringPhysicianName = copy.ReferringPhysicianName;
ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
+ ConsultingPhysicianName = copy.ConsultingPhysicianName;
+ ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
StudyID = copy.StudyID;
AccessionNumber = copy.AccessionNumber;
IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
PixelPaddingRangeLimit = copy.PixelPaddingRangeLimit;
NumberOfFrames = copy.NumberOfFrames;
FrameIncrementPointer = copy.FrameIncrementPointer;
+ StereoPairsPresent = copy.StereoPairsPresent;
OverlayRows = copy.OverlayRows;
OverlayColumns = copy.OverlayColumns;
OverlayType = copy.OverlayType;
QueryRetrieveView = copy.QueryRetrieveView;
ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
ContentQualification = copy.ContentQualification;
+ PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
FrameExtractionSequence = copy.FrameExtractionSequence;
StudyTime.clear();
ReferringPhysicianName.clear();
ReferringPhysicianIdentificationSequence.clear();
+ ConsultingPhysicianName.clear();
+ ConsultingPhysicianIdentificationSequence.clear();
StudyID.clear();
AccessionNumber.clear();
IssuerOfAccessionNumberSequence.clear();
PixelPaddingRangeLimit.clear();
NumberOfFrames.clear();
FrameIncrementPointer.clear();
+ StereoPairsPresent.clear();
OverlayRows.clear();
OverlayColumns.clear();
OverlayType.clear();
QueryRetrieveView.clear();
ConversionSourceAttributesSequence.clear();
ContentQualification.clear();
+ PrivateDataElementCharacteristicsSequence.clear();
ReferencedSeriesSequence.clear();
StudiesContainingOtherReferencedInstancesSequence.clear();
FrameExtractionSequence.clear();
{
getAndCheckElementFromDataset(dataset, NumberOfFrames, "1", "1", "MultiFrameModule");
getAndCheckElementFromDataset(dataset, FrameIncrementPointer, "1-n", "1", "MultiFrameModule");
+ getAndCheckElementFromDataset(dataset, StereoPairsPresent, "1", "3", "MultiFrameModule");
}
// --- OverlayPlaneModule (U) ---
getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
+ PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
+ getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
+ ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
+ addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
+ if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
{
addElementToDataset(result, dataset, new DcmIntegerString(NumberOfFrames), "1", "1", "MultiFrameModule");
addElementToDataset(result, dataset, new DcmAttributeTag(FrameIncrementPointer), "1-n", "1", "MultiFrameModule");
+ addElementToDataset(result, dataset, new DcmCodeString(StereoPairsPresent), "1", "3", "MultiFrameModule");
}
// --- OverlayPlaneModule (U) ---
addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
+ if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
} else {
/* check whether at least one attribute is present */
return !NumberOfFrames.isEmpty() ||
- !FrameIncrementPointer.isEmpty();
+ !FrameIncrementPointer.isEmpty() ||
+ !StereoPairsPresent.isEmpty();
}
}
}
+OFCondition DRTDoseIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(ConsultingPhysicianName, value, pos);
+}
+
+
OFCondition DRTDoseIOD::getContentDate(OFString &value, const signed long pos) const
{
return getStringValueFromElement(ContentDate, value, pos);
}
+OFCondition DRTDoseIOD::getStereoPairsPresent(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(StereoPairsPresent, value, pos);
+}
+
+
OFCondition DRTDoseIOD::getStructureSetDate(OFString &value, const signed long pos) const
{
return getStringValueFromElement(StructureSetDate, value, pos);
}
+OFCondition DRTDoseIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = ConsultingPhysicianName.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTDoseIOD::setContentDate(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
}
+OFCondition DRTDoseIOD::setStereoPairsPresent(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = StereoPairsPresent.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTDoseIOD::setStructureSetDate(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
DeviceLength(DCM_DeviceLength),
DeviceSerialNumber(DCM_DeviceSerialNumber),
DeviceVolume(DCM_DeviceVolume),
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
InterMarkerDistance(DCM_InterMarkerDistance),
+ LongCodeValue(DCM_LongCodeValue),
Manufacturer(DCM_Manufacturer),
ManufacturerModelName(DCM_ManufacturerModelName),
- MappingResource(DCM_MappingResource)
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
DeviceLength(copy.DeviceLength),
DeviceSerialNumber(copy.DeviceSerialNumber),
DeviceVolume(copy.DeviceVolume),
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
InterMarkerDistance(copy.InterMarkerDistance),
+ LongCodeValue(copy.LongCodeValue),
Manufacturer(copy.Manufacturer),
ManufacturerModelName(copy.ManufacturerModelName),
- MappingResource(copy.MappingResource)
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
DeviceLength = copy.DeviceLength;
DeviceSerialNumber = copy.DeviceSerialNumber;
DeviceVolume = copy.DeviceVolume;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
InterMarkerDistance = copy.InterMarkerDistance;
+ LongCodeValue = copy.LongCodeValue;
Manufacturer = copy.Manufacturer;
ManufacturerModelName = copy.ManufacturerModelName;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DeviceSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DeviceSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DeviceSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DeviceSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DeviceSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DeviceSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DeviceSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DeviceSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "DeviceSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DeviceSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DeviceSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DeviceSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DeviceSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DeviceSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DeviceSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DeviceSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DeviceSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DeviceSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DeviceSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DeviceSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DeviceSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DeviceSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DeviceSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DeviceSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DeviceSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DeviceSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DeviceSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DeviceSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DeviceSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DeviceSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DeviceSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DeviceSequence");
}
+OFCondition DRTDeviceSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTDeviceSequence::Item::getManufacturer(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTDeviceSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTDeviceSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTDeviceSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDeviceSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTDeviceSequence::Item::setManufacturer(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDeviceSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTDeviceSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTDeviceSequence::DRTDeviceSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDigitalSignaturePurposeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DigitalSignaturePurposeCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DigitalSignaturePurposeCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DigitalSignaturePurposeCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DigitalSignaturePurposeCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DigitalSignaturePurposeCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DigitalSignaturePurposeCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DigitalSignaturePurposeCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DigitalSignaturePurposeCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DigitalSignaturePurposeCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DigitalSignaturePurposeCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DigitalSignaturePurposeCodeSequence");
}
+OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTDigitalSignaturePurposeCodeSequence::DRTDigitalSignaturePurposeCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDigitalSignaturesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDVHSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTDVHReferencedROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTEncryptedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTEquivalentCodeSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtecs.h"
+
+
+// --- item class ---
+
+DRTEquivalentCodeSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ CodeMeaning(DCM_CodeMeaning),
+ CodeValue(DCM_CodeValue),
+ CodingSchemeDesignator(DCM_CodingSchemeDesignator),
+ CodingSchemeVersion(DCM_CodingSchemeVersion),
+ LongCodeValue(DCM_LongCodeValue),
+ URNCodeValue(DCM_URNCodeValue)
+{
+}
+
+
+DRTEquivalentCodeSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ CodeMeaning(copy.CodeMeaning),
+ CodeValue(copy.CodeValue),
+ CodingSchemeDesignator(copy.CodingSchemeDesignator),
+ CodingSchemeVersion(copy.CodingSchemeVersion),
+ LongCodeValue(copy.LongCodeValue),
+ URNCodeValue(copy.URNCodeValue)
+{
+}
+
+
+DRTEquivalentCodeSequence::Item::~Item()
+{
+}
+
+
+DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ CodeMeaning = copy.CodeMeaning;
+ CodeValue = copy.CodeValue;
+ CodingSchemeDesignator = copy.CodingSchemeDesignator;
+ CodingSchemeVersion = copy.CodingSchemeVersion;
+ LongCodeValue = copy.LongCodeValue;
+ URNCodeValue = copy.URNCodeValue;
+ }
+ return *this;
+}
+
+
+void DRTEquivalentCodeSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ CodeValue.clear();
+ CodingSchemeDesignator.clear();
+ CodingSchemeVersion.clear();
+ CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ }
+}
+
+
+OFBool DRTEquivalentCodeSequence::Item::isEmpty()
+{
+ return CodeValue.isEmpty() &&
+ CodingSchemeDesignator.isEmpty() &&
+ CodingSchemeVersion.isEmpty() &&
+ CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty();
+}
+
+
+OFBool DRTEquivalentCodeSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "EquivalentCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "EquivalentCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "EquivalentCodeSequence");
+ getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "EquivalentCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "EquivalentCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "EquivalentCodeSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "EquivalentCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "EquivalentCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "EquivalentCodeSequence");
+ addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "EquivalentCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "EquivalentCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "EquivalentCodeSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::getCodeMeaning(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodeMeaning, value, pos);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::getCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodeValue, value, pos);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::getCodingSchemeDesignator(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodingSchemeDesignator, value, pos);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::getCodingSchemeVersion(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(CodingSchemeVersion, value, pos);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodeMeaning.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::setCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::setCodingSchemeDesignator(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodingSchemeDesignator.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::setCodingSchemeVersion(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = CodingSchemeVersion.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+// --- sequence class ---
+
+DRTEquivalentCodeSequence::DRTEquivalentCodeSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTEquivalentCodeSequence::DRTEquivalentCodeSequence(const DRTEquivalentCodeSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTEquivalentCodeSequence &DRTEquivalentCodeSequence::operator=(const DRTEquivalentCodeSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTEquivalentCodeSequence::~DRTEquivalentCodeSequence()
+{
+ clear();
+}
+
+
+void DRTEquivalentCodeSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTEquivalentCodeSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTEquivalentCodeSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+unsigned long DRTEquivalentCodeSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTEquivalentCodeSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::gotoItem(const unsigned long num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::getItem(const unsigned long num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getItem(const unsigned long num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getItem(const unsigned long num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::operator[](const unsigned long num)
+{
+ return getItem(num);
+}
+
+
+const DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::operator[](const unsigned long num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTEquivalentCodeSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::insertItem(const unsigned long pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::removeItem(const unsigned long pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_EquivalentCodeSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_EquivalentCodeSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTEquivalentCodeSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_EquivalentCodeSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTExposureSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTFixationDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTFrameExtractionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTFractionGroupSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTFluenceMapSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTFractionStatusSummarySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTGeneralAccessorySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTHL7StructuredDocumentReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIssuerOfAdmissionIDSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIssuerOfAccessionNumberSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonBeamLimitingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
BlockName(DCM_BlockName),
BlockNumber(DCM_BlockNumber),
BlockNumberOfPoints(DCM_BlockNumberOfPoints),
+ BlockSlabSequence(emptyDefaultItem /*emptyDefaultSequence*/),
BlockThickness(DCM_BlockThickness),
BlockTrayID(DCM_BlockTrayID),
BlockType(DCM_BlockType),
IsocenterToBlockTrayDistance(DCM_IsocenterToBlockTrayDistance),
- MaterialID(DCM_MaterialID)
+ MaterialID(DCM_MaterialID),
+ NumberOfBlockSlabItems(DCM_NumberOfBlockSlabItems)
{
}
BlockName(copy.BlockName),
BlockNumber(copy.BlockNumber),
BlockNumberOfPoints(copy.BlockNumberOfPoints),
+ BlockSlabSequence(copy.BlockSlabSequence),
BlockThickness(copy.BlockThickness),
BlockTrayID(copy.BlockTrayID),
BlockType(copy.BlockType),
IsocenterToBlockTrayDistance(copy.IsocenterToBlockTrayDistance),
- MaterialID(copy.MaterialID)
+ MaterialID(copy.MaterialID),
+ NumberOfBlockSlabItems(copy.NumberOfBlockSlabItems)
{
}
BlockName = copy.BlockName;
BlockNumber = copy.BlockNumber;
BlockNumberOfPoints = copy.BlockNumberOfPoints;
+ BlockSlabSequence = copy.BlockSlabSequence;
BlockThickness = copy.BlockThickness;
BlockTrayID = copy.BlockTrayID;
BlockType = copy.BlockType;
IsocenterToBlockTrayDistance = copy.IsocenterToBlockTrayDistance;
MaterialID = copy.MaterialID;
+ NumberOfBlockSlabItems = copy.NumberOfBlockSlabItems;
}
return *this;
}
BlockThickness.clear();
BlockNumberOfPoints.clear();
BlockData.clear();
+ NumberOfBlockSlabItems.clear();
+ BlockSlabSequence.clear();
}
}
MaterialID.isEmpty() &&
BlockThickness.isEmpty() &&
BlockNumberOfPoints.isEmpty() &&
- BlockData.isEmpty();
+ BlockData.isEmpty() &&
+ NumberOfBlockSlabItems.isEmpty() &&
+ BlockSlabSequence.isEmpty();
}
getAndCheckElementFromDataset(item, BlockThickness, "1", "1", "IonBlockSequence");
getAndCheckElementFromDataset(item, BlockNumberOfPoints, "1", "1", "IonBlockSequence");
getAndCheckElementFromDataset(item, BlockData, "2-2n", "1", "IonBlockSequence");
+ getAndCheckElementFromDataset(item, NumberOfBlockSlabItems, "1", "3", "IonBlockSequence");
+ BlockSlabSequence.read(item, "1-n", "1C", "IonBlockSequence");
result = EC_Normal;
}
return result;
addElementToDataset(result, item, new DcmDecimalString(BlockThickness), "1", "1", "IonBlockSequence");
addElementToDataset(result, item, new DcmIntegerString(BlockNumberOfPoints), "1", "1", "IonBlockSequence");
addElementToDataset(result, item, new DcmDecimalString(BlockData), "2-2n", "1", "IonBlockSequence");
+ addElementToDataset(result, item, new DcmIntegerString(NumberOfBlockSlabItems), "1", "3", "IonBlockSequence");
+ if (result.good()) result = BlockSlabSequence.write(item, "1-n", "1C", "IonBlockSequence");
}
return result;
}
}
+OFCondition DRTIonBlockSequence::Item::getNumberOfBlockSlabItems(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(NumberOfBlockSlabItems, value, pos);
+}
+
+
+OFCondition DRTIonBlockSequence::Item::getNumberOfBlockSlabItems(Sint32 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmIntegerString &, NumberOfBlockSlabItems).getSint32(value, pos);
+}
+
+
OFCondition DRTIonBlockSequence::Item::setAccessoryCode(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTIonBlockSequence::Item::setNumberOfBlockSlabItems(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = NumberOfBlockSlabItems.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTIonBlockSequence::DRTIonBlockSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonControlPointDeliverySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
BeamLimitingDeviceRotationDirection(DCM_BeamLimitingDeviceRotationDirection),
ControlPointIndex(DCM_ControlPointIndex),
CumulativeMetersetWeight(DCM_CumulativeMetersetWeight),
+ ExternalContourEntryPoint(DCM_ExternalContourEntryPoint),
GantryAngle(DCM_GantryAngle),
GantryPitchAngle(DCM_GantryPitchAngle),
GantryPitchRotationDirection(DCM_GantryPitchRotationDirection),
BeamLimitingDeviceRotationDirection(copy.BeamLimitingDeviceRotationDirection),
ControlPointIndex(copy.ControlPointIndex),
CumulativeMetersetWeight(copy.CumulativeMetersetWeight),
+ ExternalContourEntryPoint(copy.ExternalContourEntryPoint),
GantryAngle(copy.GantryAngle),
GantryPitchAngle(copy.GantryPitchAngle),
GantryPitchRotationDirection(copy.GantryPitchRotationDirection),
BeamLimitingDeviceRotationDirection = copy.BeamLimitingDeviceRotationDirection;
ControlPointIndex = copy.ControlPointIndex;
CumulativeMetersetWeight = copy.CumulativeMetersetWeight;
+ ExternalContourEntryPoint = copy.ExternalContourEntryPoint;
GantryAngle = copy.GantryAngle;
GantryPitchAngle = copy.GantryPitchAngle;
GantryPitchRotationDirection = copy.GantryPitchRotationDirection;
SnoutPosition.clear();
IsocenterPosition.clear();
SurfaceEntryPoint.clear();
+ ExternalContourEntryPoint.clear();
}
}
TableTopLateralPosition.isEmpty() &&
SnoutPosition.isEmpty() &&
IsocenterPosition.isEmpty() &&
- SurfaceEntryPoint.isEmpty();
+ SurfaceEntryPoint.isEmpty() &&
+ ExternalContourEntryPoint.isEmpty();
}
getAndCheckElementFromDataset(item, SnoutPosition, "1", "2C", "IonControlPointSequence");
getAndCheckElementFromDataset(item, IsocenterPosition, "3", "2C", "IonControlPointSequence");
getAndCheckElementFromDataset(item, SurfaceEntryPoint, "3", "3", "IonControlPointSequence");
+ getAndCheckElementFromDataset(item, ExternalContourEntryPoint, "3", "3", "IonControlPointSequence");
result = EC_Normal;
}
return result;
addElementToDataset(result, item, new DcmFloatingPointSingle(SnoutPosition), "1", "2C", "IonControlPointSequence");
addElementToDataset(result, item, new DcmDecimalString(IsocenterPosition), "3", "2C", "IonControlPointSequence");
addElementToDataset(result, item, new DcmDecimalString(SurfaceEntryPoint), "3", "3", "IonControlPointSequence");
+ addElementToDataset(result, item, new DcmFloatingPointSingle(ExternalContourEntryPoint), "3", "3", "IonControlPointSequence");
}
return result;
}
}
+OFCondition DRTIonControlPointSequence::Item::getExternalContourEntryPoint(Float32 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmFloatingPointSingle &, ExternalContourEntryPoint).getFloat32(value, pos);
+}
+
+
OFCondition DRTIonControlPointSequence::Item::getGantryAngle(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTIonControlPointSequence::Item::setExternalContourEntryPoint(const Float32 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return ExternalContourEntryPoint.putFloat32(value, pos);
+}
+
+
OFCondition DRTIonControlPointSequence::Item::setGantryAngle(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTInstitutionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "InstitutionCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "InstitutionCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "InstitutionCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "InstitutionCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "InstitutionCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "InstitutionCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "InstitutionCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "InstitutionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "InstitutionCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "InstitutionCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "InstitutionCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "InstitutionCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "InstitutionCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "InstitutionCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "InstitutionCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "InstitutionCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "InstitutionCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "InstitutionCodeSequence");
}
+OFCondition DRTInstitutionCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTInstitutionCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTInstitutionCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTInstitutionCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTInstitutionCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTInstitutionCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTInstitutionCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTInstitutionCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTInstitutionCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTInstitutionCodeSequence::DRTInstitutionCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIconImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTImageIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
StudyTime(DCM_StudyTime),
ReferringPhysicianName(DCM_ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(),
+ ConsultingPhysicianName(DCM_ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(),
StudyID(DCM_StudyID),
AccessionNumber(DCM_AccessionNumber),
IssuerOfAccessionNumberSequence(),
MultiplexedAudioChannelsDescriptionCodeSequence(),
NumberOfFrames(DCM_NumberOfFrames),
FrameIncrementPointer(DCM_FrameIncrementPointer),
+ StereoPairsPresent(DCM_StereoPairsPresent),
DeviceSequence(),
SamplesPerPixel(DCM_SamplesPerPixel),
PhotometricInterpretation(DCM_PhotometricInterpretation),
QueryRetrieveView(DCM_QueryRetrieveView),
ConversionSourceAttributesSequence(),
ContentQualification(DCM_ContentQualification),
+ PrivateDataElementCharacteristicsSequence(),
ReferencedSeriesSequence(),
StudiesContainingOtherReferencedInstancesSequence(),
FrameExtractionSequence()
StudyTime(copy.StudyTime),
ReferringPhysicianName(copy.ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
+ ConsultingPhysicianName(copy.ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
StudyID(copy.StudyID),
AccessionNumber(copy.AccessionNumber),
IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
MultiplexedAudioChannelsDescriptionCodeSequence(copy.MultiplexedAudioChannelsDescriptionCodeSequence),
NumberOfFrames(copy.NumberOfFrames),
FrameIncrementPointer(copy.FrameIncrementPointer),
+ StereoPairsPresent(copy.StereoPairsPresent),
DeviceSequence(copy.DeviceSequence),
SamplesPerPixel(copy.SamplesPerPixel),
PhotometricInterpretation(copy.PhotometricInterpretation),
QueryRetrieveView(copy.QueryRetrieveView),
ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
ContentQualification(copy.ContentQualification),
+ PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence),
FrameExtractionSequence(copy.FrameExtractionSequence)
StudyTime = copy.StudyTime;
ReferringPhysicianName = copy.ReferringPhysicianName;
ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
+ ConsultingPhysicianName = copy.ConsultingPhysicianName;
+ ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
StudyID = copy.StudyID;
AccessionNumber = copy.AccessionNumber;
IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
MultiplexedAudioChannelsDescriptionCodeSequence = copy.MultiplexedAudioChannelsDescriptionCodeSequence;
NumberOfFrames = copy.NumberOfFrames;
FrameIncrementPointer = copy.FrameIncrementPointer;
+ StereoPairsPresent = copy.StereoPairsPresent;
DeviceSequence = copy.DeviceSequence;
SamplesPerPixel = copy.SamplesPerPixel;
PhotometricInterpretation = copy.PhotometricInterpretation;
QueryRetrieveView = copy.QueryRetrieveView;
ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
ContentQualification = copy.ContentQualification;
+ PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
FrameExtractionSequence = copy.FrameExtractionSequence;
StudyTime.clear();
ReferringPhysicianName.clear();
ReferringPhysicianIdentificationSequence.clear();
+ ConsultingPhysicianName.clear();
+ ConsultingPhysicianIdentificationSequence.clear();
StudyID.clear();
AccessionNumber.clear();
IssuerOfAccessionNumberSequence.clear();
MultiplexedAudioChannelsDescriptionCodeSequence.clear();
NumberOfFrames.clear();
FrameIncrementPointer.clear();
+ StereoPairsPresent.clear();
DeviceSequence.clear();
PixelIntensityRelationship.clear();
PixelIntensityRelationshipSign.clear();
QueryRetrieveView.clear();
ConversionSourceAttributesSequence.clear();
ContentQualification.clear();
+ PrivateDataElementCharacteristicsSequence.clear();
ReferencedSeriesSequence.clear();
StudiesContainingOtherReferencedInstancesSequence.clear();
FrameExtractionSequence.clear();
{
getAndCheckElementFromDataset(dataset, NumberOfFrames, "1", "1", "MultiFrameModule");
getAndCheckElementFromDataset(dataset, FrameIncrementPointer, "1-n", "1", "MultiFrameModule");
+ getAndCheckElementFromDataset(dataset, StereoPairsPresent, "1", "3", "MultiFrameModule");
}
// --- DeviceModule (U) ---
getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
+ PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
+ getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
+ ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
+ addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
+ if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
{
addElementToDataset(result, dataset, new DcmIntegerString(NumberOfFrames), "1", "1", "MultiFrameModule");
addElementToDataset(result, dataset, new DcmAttributeTag(FrameIncrementPointer), "1-n", "1", "MultiFrameModule");
+ addElementToDataset(result, dataset, new DcmCodeString(StereoPairsPresent), "1", "3", "MultiFrameModule");
}
// --- DeviceModule (U) ---
addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
+ if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
} else {
/* check whether at least one attribute is present */
return !NumberOfFrames.isEmpty() ||
- !FrameIncrementPointer.isEmpty();
+ !FrameIncrementPointer.isEmpty() ||
+ !StereoPairsPresent.isEmpty();
}
}
}
+OFCondition DRTImageIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(ConsultingPhysicianName, value, pos);
+}
+
+
OFCondition DRTImageIOD::getContentDate(OFString &value, const signed long pos) const
{
return getStringValueFromElement(ContentDate, value, pos);
}
+OFCondition DRTImageIOD::getStereoPairsPresent(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(StereoPairsPresent, value, pos);
+}
+
+
OFCondition DRTImageIOD::getStopTrim(OFString &value, const signed long pos) const
{
return getStringValueFromElement(StopTrim, value, pos);
}
+OFCondition DRTImageIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = ConsultingPhysicianName.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTImageIOD::setContentDate(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
}
+OFCondition DRTImageIOD::setStereoPairsPresent(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = StereoPairsPresent.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTImageIOD::setStopTrim(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
StudyTime(DCM_StudyTime),
ReferringPhysicianName(DCM_ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(),
+ ConsultingPhysicianName(DCM_ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(),
StudyID(DCM_StudyID),
AccessionNumber(DCM_AccessionNumber),
IssuerOfAccessionNumberSequence(),
QueryRetrieveView(DCM_QueryRetrieveView),
ConversionSourceAttributesSequence(),
ContentQualification(DCM_ContentQualification),
+ PrivateDataElementCharacteristicsSequence(),
ReferencedSeriesSequence(),
StudiesContainingOtherReferencedInstancesSequence()
{
StudyTime(copy.StudyTime),
ReferringPhysicianName(copy.ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
+ ConsultingPhysicianName(copy.ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
StudyID(copy.StudyID),
AccessionNumber(copy.AccessionNumber),
IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
QueryRetrieveView(copy.QueryRetrieveView),
ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
ContentQualification(copy.ContentQualification),
+ PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence)
{
StudyTime = copy.StudyTime;
ReferringPhysicianName = copy.ReferringPhysicianName;
ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
+ ConsultingPhysicianName = copy.ConsultingPhysicianName;
+ ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
StudyID = copy.StudyID;
AccessionNumber = copy.AccessionNumber;
IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
QueryRetrieveView = copy.QueryRetrieveView;
ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
ContentQualification = copy.ContentQualification;
+ PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
}
StudyTime.clear();
ReferringPhysicianName.clear();
ReferringPhysicianIdentificationSequence.clear();
+ ConsultingPhysicianName.clear();
+ ConsultingPhysicianIdentificationSequence.clear();
StudyID.clear();
AccessionNumber.clear();
IssuerOfAccessionNumberSequence.clear();
QueryRetrieveView.clear();
ConversionSourceAttributesSequence.clear();
ContentQualification.clear();
+ PrivateDataElementCharacteristicsSequence.clear();
ReferencedSeriesSequence.clear();
StudiesContainingOtherReferencedInstancesSequence.clear();
}
getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
+ PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
+ getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
+ ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
+ addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
+ if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
+ if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
}
+OFCondition DRTIonPlanIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(ConsultingPhysicianName, value, pos);
+}
+
+
OFCondition DRTIonPlanIOD::getContentQualification(OFString &value, const signed long pos) const
{
return getStringValueFromElement(ContentQualification, value, pos);
}
+OFCondition DRTIonPlanIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = ConsultingPhysicianName.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTIonPlanIOD::setContentQualification(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonBeamsTreatmentRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
StudyTime(DCM_StudyTime),
ReferringPhysicianName(DCM_ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(),
+ ConsultingPhysicianName(DCM_ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(),
StudyID(DCM_StudyID),
AccessionNumber(DCM_AccessionNumber),
IssuerOfAccessionNumberSequence(),
QueryRetrieveView(DCM_QueryRetrieveView),
ConversionSourceAttributesSequence(),
ContentQualification(DCM_ContentQualification),
+ PrivateDataElementCharacteristicsSequence(),
ReferencedSeriesSequence(),
StudiesContainingOtherReferencedInstancesSequence()
{
StudyTime(copy.StudyTime),
ReferringPhysicianName(copy.ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
+ ConsultingPhysicianName(copy.ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
StudyID(copy.StudyID),
AccessionNumber(copy.AccessionNumber),
IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
QueryRetrieveView(copy.QueryRetrieveView),
ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
ContentQualification(copy.ContentQualification),
+ PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence)
{
StudyTime = copy.StudyTime;
ReferringPhysicianName = copy.ReferringPhysicianName;
ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
+ ConsultingPhysicianName = copy.ConsultingPhysicianName;
+ ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
StudyID = copy.StudyID;
AccessionNumber = copy.AccessionNumber;
IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
QueryRetrieveView = copy.QueryRetrieveView;
ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
ContentQualification = copy.ContentQualification;
+ PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
}
StudyTime.clear();
ReferringPhysicianName.clear();
ReferringPhysicianIdentificationSequence.clear();
+ ConsultingPhysicianName.clear();
+ ConsultingPhysicianIdentificationSequence.clear();
StudyID.clear();
AccessionNumber.clear();
IssuerOfAccessionNumberSequence.clear();
QueryRetrieveView.clear();
ConversionSourceAttributesSequence.clear();
ContentQualification.clear();
+ PrivateDataElementCharacteristicsSequence.clear();
ReferencedSeriesSequence.clear();
StudiesContainingOtherReferencedInstancesSequence.clear();
}
getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
+ PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
+ getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
+ ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
+ addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
+ if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
+ if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
}
+OFCondition DRTIonBeamsTreatmentRecordIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(ConsultingPhysicianName, value, pos);
+}
+
+
OFCondition DRTIonBeamsTreatmentRecordIOD::getContentQualification(OFString &value, const signed long pos) const
{
return getStringValueFromElement(ContentQualification, value, pos);
}
+OFCondition DRTIonBeamsTreatmentRecordIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = ConsultingPhysicianName.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTIonBeamsTreatmentRecordIOD::setContentQualification(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIssuerOfPatientIDQualifiersSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonRangeCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIssuerOfServiceEpisodeIDSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTIonWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTMultiplexedAudioChannelsDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTModifiedAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ * Last modified on 2016-02-05 by Riesmeier
*
*/
}
-OFCondition DRTModifiedAttributesSequence::Item::read(DcmItem &item)
+OFCondition DRTModifiedAttributesSequence::Item::read(DcmItem & /*item*/)
{
OFCondition result = EC_IllegalCall;
if (!EmptyDefaultItem)
{
/* re-initialize object */
clear();
+ /* manual comment: nothing to do */
result = EC_Normal;
}
return result;
}
-OFCondition DRTModifiedAttributesSequence::Item::write(DcmItem &item)
+OFCondition DRTModifiedAttributesSequence::Item::write(DcmItem & /*item*/)
{
OFCondition result = EC_IllegalCall;
if (!EmptyDefaultItem)
{
+ /* manual comment: nothing to do */
result = EC_Normal;
}
return result;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTModalityLUTSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTMACParametersSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTMotionSynchronizationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTMeasurementUnitsCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "MeasurementUnitsCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "MeasurementUnitsCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "MeasurementUnitsCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "MeasurementUnitsCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "MeasurementUnitsCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "MeasurementUnitsCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "MeasurementUnitsCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "MeasurementUnitsCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "MeasurementUnitsCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "MeasurementUnitsCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "MeasurementUnitsCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "MeasurementUnitsCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "MeasurementUnitsCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "MeasurementUnitsCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "MeasurementUnitsCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "MeasurementUnitsCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "MeasurementUnitsCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "MeasurementUnitsCodeSequence");
}
+OFCondition DRTMeasurementUnitsCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTMeasurementUnitsCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTMeasurementUnitsCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTMeasurementUnitsCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTMeasurementUnitsCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTMeasurementUnitsCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTMeasurementUnitsCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTMeasurementUnitsCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTMeasurementUnitsCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTMeasurementUnitsCodeSequence::DRTMeasurementUnitsCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTOriginalAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTOperatorIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
InstitutionName(DCM_InstitutionName),
PersonAddress(DCM_PersonAddress),
PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ PersonTelecomInformation(DCM_PersonTelecomInformation),
PersonTelephoneNumbers(DCM_PersonTelephoneNumbers)
{
}
InstitutionName(copy.InstitutionName),
PersonAddress(copy.PersonAddress),
PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence),
+ PersonTelecomInformation(copy.PersonTelecomInformation),
PersonTelephoneNumbers(copy.PersonTelephoneNumbers)
{
}
InstitutionName = copy.InstitutionName;
PersonAddress = copy.PersonAddress;
PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence;
+ PersonTelecomInformation = copy.PersonTelecomInformation;
PersonTelephoneNumbers = copy.PersonTelephoneNumbers;
}
return *this;
PersonIdentificationCodeSequence.clear();
PersonAddress.clear();
PersonTelephoneNumbers.clear();
+ PersonTelecomInformation.clear();
InstitutionName.clear();
InstitutionAddress.clear();
InstitutionCodeSequence.clear();
return PersonIdentificationCodeSequence.isEmpty() &&
PersonAddress.isEmpty() &&
PersonTelephoneNumbers.isEmpty() &&
+ PersonTelecomInformation.isEmpty() &&
InstitutionName.isEmpty() &&
InstitutionAddress.isEmpty() &&
InstitutionCodeSequence.isEmpty();
PersonIdentificationCodeSequence.read(item, "1-n", "1", "OperatorIdentificationSequence");
getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "OperatorIdentificationSequence");
getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "OperatorIdentificationSequence");
+ getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "OperatorIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "OperatorIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "OperatorIdentificationSequence");
InstitutionCodeSequence.read(item, "1-n", "1C", "OperatorIdentificationSequence");
if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "OperatorIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "OperatorIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "OperatorIdentificationSequence");
+ addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "OperatorIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "OperatorIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "OperatorIdentificationSequence");
if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "OperatorIdentificationSequence");
}
+OFCondition DRTOperatorIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonTelecomInformation, value, pos);
+}
+
+
OFCondition DRTOperatorIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTOperatorIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = PersonTelecomInformation.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTOperatorIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTOtherPatientIDsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTOverrideSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPatientBreedCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PatientBreedCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PatientBreedCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PatientBreedCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PatientBreedCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PatientBreedCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PatientBreedCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PatientBreedCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PatientBreedCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PatientBreedCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PatientBreedCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PatientBreedCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PatientBreedCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PatientBreedCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PatientBreedCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PatientBreedCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PatientBreedCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PatientBreedCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PatientBreedCodeSequence");
}
+OFCondition DRTPatientBreedCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTPatientBreedCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPatientBreedCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTPatientBreedCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTPatientBreedCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPatientBreedCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPatientBreedCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPatientBreedCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPatientBreedCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTPatientBreedCodeSequence::DRTPatientBreedCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ProcedureCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ProcedureCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ProcedureCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ProcedureCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ProcedureCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ProcedureCodeSequence");
}
+OFCondition DRTProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTProcedureCodeSequence::DRTProcedureCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTProtocolContextSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTPrivateDataElementCharacteristicsSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtpdecs.h"
+
+
+// --- item class ---
+
+DRTPrivateDataElementCharacteristicsSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ BlockIdentifyingInformationStatus(DCM_BlockIdentifyingInformationStatus),
+ DeidentificationActionSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ NonidentifyingPrivateElements(DCM_NonidentifyingPrivateElements),
+ PrivateCreatorReference(DCM_PrivateCreatorReference),
+ PrivateGroupReference(DCM_PrivateGroupReference)
+{
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ BlockIdentifyingInformationStatus(copy.BlockIdentifyingInformationStatus),
+ DeidentificationActionSequence(copy.DeidentificationActionSequence),
+ NonidentifyingPrivateElements(copy.NonidentifyingPrivateElements),
+ PrivateCreatorReference(copy.PrivateCreatorReference),
+ PrivateGroupReference(copy.PrivateGroupReference)
+{
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::Item::~Item()
+{
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ BlockIdentifyingInformationStatus = copy.BlockIdentifyingInformationStatus;
+ DeidentificationActionSequence = copy.DeidentificationActionSequence;
+ NonidentifyingPrivateElements = copy.NonidentifyingPrivateElements;
+ PrivateCreatorReference = copy.PrivateCreatorReference;
+ PrivateGroupReference = copy.PrivateGroupReference;
+ }
+ return *this;
+}
+
+
+void DRTPrivateDataElementCharacteristicsSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ PrivateGroupReference.clear();
+ PrivateCreatorReference.clear();
+ BlockIdentifyingInformationStatus.clear();
+ NonidentifyingPrivateElements.clear();
+ DeidentificationActionSequence.clear();
+ }
+}
+
+
+OFBool DRTPrivateDataElementCharacteristicsSequence::Item::isEmpty()
+{
+ return PrivateGroupReference.isEmpty() &&
+ PrivateCreatorReference.isEmpty() &&
+ BlockIdentifyingInformationStatus.isEmpty() &&
+ NonidentifyingPrivateElements.isEmpty() &&
+ DeidentificationActionSequence.isEmpty();
+}
+
+
+OFBool DRTPrivateDataElementCharacteristicsSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, PrivateGroupReference, "1", "1", "PrivateDataElementCharacteristicsSequence");
+ getAndCheckElementFromDataset(item, PrivateCreatorReference, "1", "1", "PrivateDataElementCharacteristicsSequence");
+ getAndCheckElementFromDataset(item, BlockIdentifyingInformationStatus, "1", "1", "PrivateDataElementCharacteristicsSequence");
+ getAndCheckElementFromDataset(item, NonidentifyingPrivateElements, "1-n", "1C", "PrivateDataElementCharacteristicsSequence");
+ DeidentificationActionSequence.read(item, "1-n", "3", "PrivateDataElementCharacteristicsSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmUnsignedShort(PrivateGroupReference), "1", "1", "PrivateDataElementCharacteristicsSequence");
+ addElementToDataset(result, item, new DcmLongString(PrivateCreatorReference), "1", "1", "PrivateDataElementCharacteristicsSequence");
+ addElementToDataset(result, item, new DcmCodeString(BlockIdentifyingInformationStatus), "1", "1", "PrivateDataElementCharacteristicsSequence");
+ addElementToDataset(result, item, new DcmUnsignedShort(NonidentifyingPrivateElements), "1-n", "1C", "PrivateDataElementCharacteristicsSequence");
+ if (result.good()) result = DeidentificationActionSequence.write(item, "1-n", "3", "PrivateDataElementCharacteristicsSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getBlockIdentifyingInformationStatus(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(BlockIdentifyingInformationStatus, value, pos);
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getNonidentifyingPrivateElements(Uint16 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmUnsignedShort &, NonidentifyingPrivateElements).getUint16(value, pos);
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getPrivateCreatorReference(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PrivateCreatorReference, value, pos);
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getPrivateGroupReference(Uint16 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmUnsignedShort &, PrivateGroupReference).getUint16(value, pos);
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setBlockIdentifyingInformationStatus(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = BlockIdentifyingInformationStatus.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setNonidentifyingPrivateElements(const Uint16 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return NonidentifyingPrivateElements.putUint16(value, pos);
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setPrivateCreatorReference(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = PrivateCreatorReference.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setPrivateGroupReference(const Uint16 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return PrivateGroupReference.putUint16(value, pos);
+}
+
+
+// --- sequence class ---
+
+DRTPrivateDataElementCharacteristicsSequence::DRTPrivateDataElementCharacteristicsSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::DRTPrivateDataElementCharacteristicsSequence(const DRTPrivateDataElementCharacteristicsSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence &DRTPrivateDataElementCharacteristicsSequence::operator=(const DRTPrivateDataElementCharacteristicsSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::~DRTPrivateDataElementCharacteristicsSequence()
+{
+ clear();
+}
+
+
+void DRTPrivateDataElementCharacteristicsSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTPrivateDataElementCharacteristicsSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTPrivateDataElementCharacteristicsSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+unsigned long DRTPrivateDataElementCharacteristicsSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoItem(const unsigned long num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::getItem(const unsigned long num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getItem(const unsigned long num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getItem(const unsigned long num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::operator[](const unsigned long num)
+{
+ return getItem(num);
+}
+
+
+const DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::operator[](const unsigned long num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::insertItem(const unsigned long pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::removeItem(const unsigned long pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_PrivateDataElementCharacteristicsSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_PrivateDataElementCharacteristicsSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTPrivateDataElementCharacteristicsSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_PrivateDataElementCharacteristicsSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPrimaryFluenceModeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPersonIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PersonIdentificationCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PersonIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PersonIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PersonIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PersonIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PersonIdentificationCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PersonIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PersonIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PersonIdentificationCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PersonIdentificationCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PersonIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PersonIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PersonIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PersonIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PersonIdentificationCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PersonIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PersonIdentificationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PersonIdentificationCodeSequence");
}
+OFCondition DRTPersonIdentificationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTPersonIdentificationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPersonIdentificationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTPersonIdentificationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTPersonIdentificationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPersonIdentificationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPersonIdentificationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPersonIdentificationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPersonIdentificationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTPersonIdentificationCodeSequence::DRTPersonIdentificationCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPlanIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
StudyTime(DCM_StudyTime),
ReferringPhysicianName(DCM_ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(),
+ ConsultingPhysicianName(DCM_ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(),
StudyID(DCM_StudyID),
AccessionNumber(DCM_AccessionNumber),
IssuerOfAccessionNumberSequence(),
QueryRetrieveView(DCM_QueryRetrieveView),
ConversionSourceAttributesSequence(),
ContentQualification(DCM_ContentQualification),
+ PrivateDataElementCharacteristicsSequence(),
ReferencedSeriesSequence(),
StudiesContainingOtherReferencedInstancesSequence()
{
StudyTime(copy.StudyTime),
ReferringPhysicianName(copy.ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
+ ConsultingPhysicianName(copy.ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
StudyID(copy.StudyID),
AccessionNumber(copy.AccessionNumber),
IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
QueryRetrieveView(copy.QueryRetrieveView),
ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
ContentQualification(copy.ContentQualification),
+ PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence)
{
StudyTime = copy.StudyTime;
ReferringPhysicianName = copy.ReferringPhysicianName;
ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
+ ConsultingPhysicianName = copy.ConsultingPhysicianName;
+ ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
StudyID = copy.StudyID;
AccessionNumber = copy.AccessionNumber;
IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
QueryRetrieveView = copy.QueryRetrieveView;
ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
ContentQualification = copy.ContentQualification;
+ PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
}
StudyTime.clear();
ReferringPhysicianName.clear();
ReferringPhysicianIdentificationSequence.clear();
+ ConsultingPhysicianName.clear();
+ ConsultingPhysicianIdentificationSequence.clear();
StudyID.clear();
AccessionNumber.clear();
IssuerOfAccessionNumberSequence.clear();
QueryRetrieveView.clear();
ConversionSourceAttributesSequence.clear();
ContentQualification.clear();
+ PrivateDataElementCharacteristicsSequence.clear();
ReferencedSeriesSequence.clear();
StudiesContainingOtherReferencedInstancesSequence.clear();
}
getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
+ PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
+ getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
+ ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
+ addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
+ if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
+ if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
}
+OFCondition DRTPlanIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(ConsultingPhysicianName, value, pos);
+}
+
+
OFCondition DRTPlanIOD::getContentQualification(OFString &value, const signed long pos) const
{
return getStringValueFromElement(ContentQualification, value, pos);
}
+OFCondition DRTPlanIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = ConsultingPhysicianName.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTPlanIOD::setContentQualification(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPurposeOfReferenceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PurposeOfReferenceCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PurposeOfReferenceCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PurposeOfReferenceCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PurposeOfReferenceCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PurposeOfReferenceCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PurposeOfReferenceCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PurposeOfReferenceCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PurposeOfReferenceCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PurposeOfReferenceCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PurposeOfReferenceCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PurposeOfReferenceCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PurposeOfReferenceCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PurposeOfReferenceCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PurposeOfReferenceCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PurposeOfReferenceCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PurposeOfReferenceCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PurposeOfReferenceCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PurposeOfReferenceCodeSequence");
}
+OFCondition DRTPurposeOfReferenceCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTPurposeOfReferenceCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPurposeOfReferenceCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTPurposeOfReferenceCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTPurposeOfReferenceCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPurposeOfReferenceCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPurposeOfReferenceCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPurposeOfReferenceCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPurposeOfReferenceCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTPurposeOfReferenceCodeSequence::DRTPurposeOfReferenceCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPhysiciansOfRecordIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
InstitutionName(DCM_InstitutionName),
PersonAddress(DCM_PersonAddress),
PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ PersonTelecomInformation(DCM_PersonTelecomInformation),
PersonTelephoneNumbers(DCM_PersonTelephoneNumbers)
{
}
InstitutionName(copy.InstitutionName),
PersonAddress(copy.PersonAddress),
PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence),
+ PersonTelecomInformation(copy.PersonTelecomInformation),
PersonTelephoneNumbers(copy.PersonTelephoneNumbers)
{
}
InstitutionName = copy.InstitutionName;
PersonAddress = copy.PersonAddress;
PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence;
+ PersonTelecomInformation = copy.PersonTelecomInformation;
PersonTelephoneNumbers = copy.PersonTelephoneNumbers;
}
return *this;
PersonIdentificationCodeSequence.clear();
PersonAddress.clear();
PersonTelephoneNumbers.clear();
+ PersonTelecomInformation.clear();
InstitutionName.clear();
InstitutionAddress.clear();
InstitutionCodeSequence.clear();
return PersonIdentificationCodeSequence.isEmpty() &&
PersonAddress.isEmpty() &&
PersonTelephoneNumbers.isEmpty() &&
+ PersonTelecomInformation.isEmpty() &&
InstitutionName.isEmpty() &&
InstitutionAddress.isEmpty() &&
InstitutionCodeSequence.isEmpty();
PersonIdentificationCodeSequence.read(item, "1-n", "1", "PhysiciansOfRecordIdentificationSequence");
getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "PhysiciansOfRecordIdentificationSequence");
getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "PhysiciansOfRecordIdentificationSequence");
+ getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "PhysiciansOfRecordIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "PhysiciansOfRecordIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "PhysiciansOfRecordIdentificationSequence");
InstitutionCodeSequence.read(item, "1-n", "1C", "PhysiciansOfRecordIdentificationSequence");
if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "PhysiciansOfRecordIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "PhysiciansOfRecordIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "PhysiciansOfRecordIdentificationSequence");
+ addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "PhysiciansOfRecordIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "PhysiciansOfRecordIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "PhysiciansOfRecordIdentificationSequence");
if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "PhysiciansOfRecordIdentificationSequence");
}
+OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonTelecomInformation, value, pos);
+}
+
+
OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = PersonTelecomInformation.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPerformedProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
MappingResource(DCM_MappingResource),
- ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/)
+ MappingResourceUID(DCM_MappingResourceUID),
+ ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
MappingResource(copy.MappingResource),
- ProtocolContextSequence(copy.ProtocolContextSequence)
+ MappingResourceUID(copy.MappingResourceUID),
+ ProtocolContextSequence(copy.ProtocolContextSequence),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
ProtocolContextSequence = copy.ProtocolContextSequence;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PerformedProtocolCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PerformedProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PerformedProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PerformedProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PerformedProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PerformedProtocolCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PerformedProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PerformedProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PerformedProtocolCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PerformedProtocolCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PerformedProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PerformedProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PerformedProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PerformedProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PerformedProtocolCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PerformedProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PerformedProtocolCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PerformedProtocolCodeSequence");
}
+OFCondition DRTPerformedProtocolCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTPerformedProtocolCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPerformedProtocolCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTPerformedProtocolCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTPerformedProtocolCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPerformedProtocolCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPerformedProtocolCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPerformedProtocolCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPerformedProtocolCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTPerformedProtocolCodeSequence::DRTPerformedProtocolCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPhysiciansReadingStudyIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
InstitutionName(DCM_InstitutionName),
PersonAddress(DCM_PersonAddress),
PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ PersonTelecomInformation(DCM_PersonTelecomInformation),
PersonTelephoneNumbers(DCM_PersonTelephoneNumbers)
{
}
InstitutionName(copy.InstitutionName),
PersonAddress(copy.PersonAddress),
PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence),
+ PersonTelecomInformation(copy.PersonTelecomInformation),
PersonTelephoneNumbers(copy.PersonTelephoneNumbers)
{
}
InstitutionName = copy.InstitutionName;
PersonAddress = copy.PersonAddress;
PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence;
+ PersonTelecomInformation = copy.PersonTelecomInformation;
PersonTelephoneNumbers = copy.PersonTelephoneNumbers;
}
return *this;
PersonIdentificationCodeSequence.clear();
PersonAddress.clear();
PersonTelephoneNumbers.clear();
+ PersonTelecomInformation.clear();
InstitutionName.clear();
InstitutionAddress.clear();
InstitutionCodeSequence.clear();
return PersonIdentificationCodeSequence.isEmpty() &&
PersonAddress.isEmpty() &&
PersonTelephoneNumbers.isEmpty() &&
+ PersonTelecomInformation.isEmpty() &&
InstitutionName.isEmpty() &&
InstitutionAddress.isEmpty() &&
InstitutionCodeSequence.isEmpty();
PersonIdentificationCodeSequence.read(item, "1-n", "1", "PhysiciansReadingStudyIdentificationSequence");
getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "PhysiciansReadingStudyIdentificationSequence");
getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "PhysiciansReadingStudyIdentificationSequence");
+ getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "PhysiciansReadingStudyIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "PhysiciansReadingStudyIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "PhysiciansReadingStudyIdentificationSequence");
InstitutionCodeSequence.read(item, "1-n", "1C", "PhysiciansReadingStudyIdentificationSequence");
if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "PhysiciansReadingStudyIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "PhysiciansReadingStudyIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "PhysiciansReadingStudyIdentificationSequence");
+ addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "PhysiciansReadingStudyIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "PhysiciansReadingStudyIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "PhysiciansReadingStudyIdentificationSequence");
if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "PhysiciansReadingStudyIdentificationSequence");
}
+OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonTelecomInformation, value, pos);
+}
+
+
OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = PersonTelecomInformation.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPatientSpeciesCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PatientSpeciesCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PatientSpeciesCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PatientSpeciesCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PatientSpeciesCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PatientSpeciesCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PatientSpeciesCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PatientSpeciesCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PatientSpeciesCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PatientSpeciesCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PatientSpeciesCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PatientSpeciesCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PatientSpeciesCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PatientSpeciesCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PatientSpeciesCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PatientSpeciesCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PatientSpeciesCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PatientSpeciesCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PatientSpeciesCodeSequence");
}
+OFCondition DRTPatientSpeciesCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTPatientSpeciesCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPatientSpeciesCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTPatientSpeciesCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTPatientSpeciesCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPatientSpeciesCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPatientSpeciesCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPatientSpeciesCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPatientSpeciesCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTPatientSpeciesCodeSequence::DRTPatientSpeciesCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPatientSizeCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PatientSizeCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PatientSizeCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PatientSizeCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PatientSizeCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PatientSizeCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PatientSizeCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PatientSizeCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PatientSizeCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PatientSizeCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PatientSizeCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PatientSizeCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PatientSizeCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PatientSizeCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PatientSizeCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PatientSizeCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PatientSizeCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PatientSizeCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PatientSizeCodeSequence");
}
+OFCondition DRTPatientSizeCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTPatientSizeCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTPatientSizeCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTPatientSizeCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTPatientSizeCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPatientSizeCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTPatientSizeCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTPatientSizeCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTPatientSizeCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTPatientSizeCodeSequence::DRTPatientSizeCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPatientSetupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPredecessorStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTPlannedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTQuantityDefinitionSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtqds.h"
+
+
+// --- item class ---
+
+DRTQuantityDefinitionSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ ConceptCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ ConceptNameCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ Date(DCM_Date),
+ DateTime(DCM_DateTime),
+ FloatingPointValue(DCM_FloatingPointValue),
+ MeasurementUnitsCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ NumericValue(DCM_NumericValue),
+ PersonName(DCM_PersonName),
+ RationalDenominatorValue(DCM_RationalDenominatorValue),
+ RationalNumeratorValue(DCM_RationalNumeratorValue),
+ ReferencedSOPSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ TextValue(DCM_TextValue),
+ Time(DCM_Time),
+ UID(DCM_UID),
+ ValueType(DCM_ValueType)
+{
+}
+
+
+DRTQuantityDefinitionSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ ConceptCodeSequence(copy.ConceptCodeSequence),
+ ConceptNameCodeSequence(copy.ConceptNameCodeSequence),
+ Date(copy.Date),
+ DateTime(copy.DateTime),
+ FloatingPointValue(copy.FloatingPointValue),
+ MeasurementUnitsCodeSequence(copy.MeasurementUnitsCodeSequence),
+ NumericValue(copy.NumericValue),
+ PersonName(copy.PersonName),
+ RationalDenominatorValue(copy.RationalDenominatorValue),
+ RationalNumeratorValue(copy.RationalNumeratorValue),
+ ReferencedSOPSequence(copy.ReferencedSOPSequence),
+ TextValue(copy.TextValue),
+ Time(copy.Time),
+ UID(copy.UID),
+ ValueType(copy.ValueType)
+{
+}
+
+
+DRTQuantityDefinitionSequence::Item::~Item()
+{
+}
+
+
+DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ ConceptCodeSequence = copy.ConceptCodeSequence;
+ ConceptNameCodeSequence = copy.ConceptNameCodeSequence;
+ Date = copy.Date;
+ DateTime = copy.DateTime;
+ FloatingPointValue = copy.FloatingPointValue;
+ MeasurementUnitsCodeSequence = copy.MeasurementUnitsCodeSequence;
+ NumericValue = copy.NumericValue;
+ PersonName = copy.PersonName;
+ RationalDenominatorValue = copy.RationalDenominatorValue;
+ RationalNumeratorValue = copy.RationalNumeratorValue;
+ ReferencedSOPSequence = copy.ReferencedSOPSequence;
+ TextValue = copy.TextValue;
+ Time = copy.Time;
+ UID = copy.UID;
+ ValueType = copy.ValueType;
+ }
+ return *this;
+}
+
+
+void DRTQuantityDefinitionSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ ValueType.clear();
+ ConceptNameCodeSequence.clear();
+ DateTime.clear();
+ Date.clear();
+ Time.clear();
+ PersonName.clear();
+ UID.clear();
+ TextValue.clear();
+ ConceptCodeSequence.clear();
+ NumericValue.clear();
+ FloatingPointValue.clear();
+ RationalNumeratorValue.clear();
+ RationalDenominatorValue.clear();
+ MeasurementUnitsCodeSequence.clear();
+ ReferencedSOPSequence.clear();
+ }
+}
+
+
+OFBool DRTQuantityDefinitionSequence::Item::isEmpty()
+{
+ return ValueType.isEmpty() &&
+ ConceptNameCodeSequence.isEmpty() &&
+ DateTime.isEmpty() &&
+ Date.isEmpty() &&
+ Time.isEmpty() &&
+ PersonName.isEmpty() &&
+ UID.isEmpty() &&
+ TextValue.isEmpty() &&
+ ConceptCodeSequence.isEmpty() &&
+ NumericValue.isEmpty() &&
+ FloatingPointValue.isEmpty() &&
+ RationalNumeratorValue.isEmpty() &&
+ RationalDenominatorValue.isEmpty() &&
+ MeasurementUnitsCodeSequence.isEmpty() &&
+ ReferencedSOPSequence.isEmpty();
+}
+
+
+OFBool DRTQuantityDefinitionSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, ValueType, "1", "1", "QuantityDefinitionSequence");
+ ConceptNameCodeSequence.read(item, "1-n", "1", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, DateTime, "1", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, Date, "1", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, Time, "1", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, PersonName, "1", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, UID, "1", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, TextValue, "1", "1C", "QuantityDefinitionSequence");
+ ConceptCodeSequence.read(item, "1-n", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, NumericValue, "1-n", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, FloatingPointValue, "1-n", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, RationalNumeratorValue, "1-n", "1C", "QuantityDefinitionSequence");
+ getAndCheckElementFromDataset(item, RationalDenominatorValue, "1-n", "1C", "QuantityDefinitionSequence");
+ MeasurementUnitsCodeSequence.read(item, "1-n", "1C", "QuantityDefinitionSequence");
+ ReferencedSOPSequence.read(item, "1-n", "1C", "QuantityDefinitionSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmCodeString(ValueType), "1", "1", "QuantityDefinitionSequence");
+ if (result.good()) result = ConceptNameCodeSequence.write(item, "1-n", "1", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmDateTime(DateTime), "1", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmDate(Date), "1", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmTime(Time), "1", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmPersonName(PersonName), "1", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(UID), "1", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmUnlimitedText(TextValue), "1", "1C", "QuantityDefinitionSequence");
+ if (result.good()) result = ConceptCodeSequence.write(item, "1-n", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmDecimalString(NumericValue), "1-n", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmFloatingPointDouble(FloatingPointValue), "1-n", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmSignedLong(RationalNumeratorValue), "1-n", "1C", "QuantityDefinitionSequence");
+ addElementToDataset(result, item, new DcmUnsignedLong(RationalDenominatorValue), "1-n", "1C", "QuantityDefinitionSequence");
+ if (result.good()) result = MeasurementUnitsCodeSequence.write(item, "1-n", "1C", "QuantityDefinitionSequence");
+ if (result.good()) result = ReferencedSOPSequence.write(item, "1-n", "1C", "QuantityDefinitionSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getDate(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(Date, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getDateTime(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(DateTime, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getFloatingPointValue(Float64 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmFloatingPointDouble &, FloatingPointValue).getFloat64(value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getNumericValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(NumericValue, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getNumericValue(Float64 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmDecimalString &, NumericValue).getFloat64(value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getNumericValue(OFVector<Float64> &value) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmDecimalString &, NumericValue).getFloat64Vector(value);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getPersonName(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonName, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getRationalDenominatorValue(Uint32 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmUnsignedLong &, RationalDenominatorValue).getUint32(value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getRationalNumeratorValue(Sint32 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmSignedLong &, RationalNumeratorValue).getSint32(value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getTextValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(TextValue, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getTime(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(Time, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(UID, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::getValueType(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(ValueType, value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setDate(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = Date.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setDateTime(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmDateTime::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = DateTime.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setFloatingPointValue(const Float64 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return FloatingPointValue.putFloat64(value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setNumericValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmDecimalString::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = NumericValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setPersonName(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmPersonName::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = PersonName.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setRationalDenominatorValue(const Uint32 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return RationalDenominatorValue.putUint32(value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setRationalNumeratorValue(const Sint32 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return RationalNumeratorValue.putSint32(value, pos);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setTextValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = TextValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setTime(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = Time.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = UID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::Item::setValueType(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = ValueType.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+// --- sequence class ---
+
+DRTQuantityDefinitionSequence::DRTQuantityDefinitionSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTQuantityDefinitionSequence::DRTQuantityDefinitionSequence(const DRTQuantityDefinitionSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTQuantityDefinitionSequence &DRTQuantityDefinitionSequence::operator=(const DRTQuantityDefinitionSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTQuantityDefinitionSequence::~DRTQuantityDefinitionSequence()
+{
+ clear();
+}
+
+
+void DRTQuantityDefinitionSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTQuantityDefinitionSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTQuantityDefinitionSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+unsigned long DRTQuantityDefinitionSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::gotoItem(const unsigned long num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::getItem(const unsigned long num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getItem(const unsigned long num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getItem(const unsigned long num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::operator[](const unsigned long num)
+{
+ return getItem(num);
+}
+
+
+const DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::operator[](const unsigned long num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::insertItem(const unsigned long pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::removeItem(const unsigned long pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_QuantityDefinitionSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_QuantityDefinitionSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTQuantityDefinitionSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_QuantityDefinitionSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRequestAttributesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBrachyApplicationSetupSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRecordedBlockSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBolusSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBolusSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBolusSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBeamSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBeamSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedBeamSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRecordedCompensatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedControlPointSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTROIContourSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
: EmptyDefaultItem(emptyDefaultItem),
ContourSequence(emptyDefaultItem /*emptyDefaultSequence*/),
ROIDisplayColor(DCM_ROIDisplayColor),
+ RecommendedDisplayCIELabValue(DCM_RecommendedDisplayCIELabValue),
+ RecommendedDisplayGrayscaleValue(DCM_RecommendedDisplayGrayscaleValue),
ReferencedROINumber(DCM_ReferencedROINumber)
{
}
: EmptyDefaultItem(copy.EmptyDefaultItem),
ContourSequence(copy.ContourSequence),
ROIDisplayColor(copy.ROIDisplayColor),
+ RecommendedDisplayCIELabValue(copy.RecommendedDisplayCIELabValue),
+ RecommendedDisplayGrayscaleValue(copy.RecommendedDisplayGrayscaleValue),
ReferencedROINumber(copy.ReferencedROINumber)
{
}
EmptyDefaultItem = copy.EmptyDefaultItem;
ContourSequence = copy.ContourSequence;
ROIDisplayColor = copy.ROIDisplayColor;
+ RecommendedDisplayCIELabValue = copy.RecommendedDisplayCIELabValue;
+ RecommendedDisplayGrayscaleValue = copy.RecommendedDisplayGrayscaleValue;
ReferencedROINumber = copy.ReferencedROINumber;
}
return *this;
/* clear all DICOM attributes */
ReferencedROINumber.clear();
ROIDisplayColor.clear();
+ RecommendedDisplayGrayscaleValue.clear();
+ RecommendedDisplayCIELabValue.clear();
ContourSequence.clear();
}
}
{
return ReferencedROINumber.isEmpty() &&
ROIDisplayColor.isEmpty() &&
+ RecommendedDisplayGrayscaleValue.isEmpty() &&
+ RecommendedDisplayCIELabValue.isEmpty() &&
ContourSequence.isEmpty();
}
clear();
getAndCheckElementFromDataset(item, ReferencedROINumber, "1", "1", "ROIContourSequence");
getAndCheckElementFromDataset(item, ROIDisplayColor, "3", "3", "ROIContourSequence");
+ getAndCheckElementFromDataset(item, RecommendedDisplayGrayscaleValue, "1", "3", "ROIContourSequence");
+ getAndCheckElementFromDataset(item, RecommendedDisplayCIELabValue, "3", "3", "ROIContourSequence");
ContourSequence.read(item, "1-n", "3", "ROIContourSequence");
result = EC_Normal;
}
result = EC_Normal;
addElementToDataset(result, item, new DcmIntegerString(ReferencedROINumber), "1", "1", "ROIContourSequence");
addElementToDataset(result, item, new DcmIntegerString(ROIDisplayColor), "3", "3", "ROIContourSequence");
+ addElementToDataset(result, item, new DcmUnsignedShort(RecommendedDisplayGrayscaleValue), "1", "3", "ROIContourSequence");
+ addElementToDataset(result, item, new DcmUnsignedShort(RecommendedDisplayCIELabValue), "3", "3", "ROIContourSequence");
if (result.good()) result = ContourSequence.write(item, "1-n", "3", "ROIContourSequence");
}
return result;
}
+OFCondition DRTROIContourSequence::Item::getRecommendedDisplayCIELabValue(Uint16 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmUnsignedShort &, RecommendedDisplayCIELabValue).getUint16(value, pos);
+}
+
+
+OFCondition DRTROIContourSequence::Item::getRecommendedDisplayGrayscaleValue(Uint16 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmUnsignedShort &, RecommendedDisplayGrayscaleValue).getUint16(value, pos);
+}
+
+
OFCondition DRTROIContourSequence::Item::getReferencedROINumber(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTROIContourSequence::Item::setRecommendedDisplayCIELabValue(const Uint16 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return RecommendedDisplayCIELabValue.putUint16(value, pos);
+}
+
+
+OFCondition DRTROIContourSequence::Item::setRecommendedDisplayGrayscaleValue(const Uint16 value, const unsigned long pos)
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return RecommendedDisplayGrayscaleValue.putUint16(value, pos);
+}
+
+
OFCondition DRTROIContourSequence::Item::setReferencedROINumber(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRTDoseROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedDoseReferenceSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedDoseReferenceSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedDoseSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTROIElementalCompositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedFractionGroupSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedFrameOfReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRTROIIdentificationCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "RTROIIdentificationCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "RTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "RTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "RTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "RTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "RTROIIdentificationCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "RTROIIdentificationCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "RTROIIdentificationCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "RTROIIdentificationCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "RTROIIdentificationCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "RTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "RTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "RTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "RTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "RTROIIdentificationCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "RTROIIdentificationCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "RTROIIdentificationCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "RTROIIdentificationCodeSequence");
}
+OFCondition DRTRTROIIdentificationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTRTROIIdentificationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTRTROIIdentificationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTRTROIIdentificationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTRTROIIdentificationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTRTROIIdentificationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTRTROIIdentificationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTRTROIIdentificationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTRTROIIdentificationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTRTROIIdentificationCodeSequence::DRTRTROIIdentificationCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedInstanceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRecordedLateralSpreadingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "RequestedProcedureCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "RequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "RequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "RequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "RequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "RequestedProcedureCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "RequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "RequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "RequestedProcedureCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "RequestedProcedureCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "RequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "RequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "RequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "RequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "RequestedProcedureCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "RequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "RequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "RequestedProcedureCodeSequence");
}
+OFCondition DRTRequestedProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTRequestedProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTRequestedProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTRequestedProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTRequestedProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTRequestedProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTRequestedProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTRequestedProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTRequestedProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTRequestedProcedureCodeSequence::DRTRequestedProcedureCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferringPhysicianIdentificationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
InstitutionName(DCM_InstitutionName),
PersonAddress(DCM_PersonAddress),
PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ PersonTelecomInformation(DCM_PersonTelecomInformation),
PersonTelephoneNumbers(DCM_PersonTelephoneNumbers)
{
}
InstitutionName(copy.InstitutionName),
PersonAddress(copy.PersonAddress),
PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence),
+ PersonTelecomInformation(copy.PersonTelecomInformation),
PersonTelephoneNumbers(copy.PersonTelephoneNumbers)
{
}
InstitutionName = copy.InstitutionName;
PersonAddress = copy.PersonAddress;
PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence;
+ PersonTelecomInformation = copy.PersonTelecomInformation;
PersonTelephoneNumbers = copy.PersonTelephoneNumbers;
}
return *this;
PersonIdentificationCodeSequence.clear();
PersonAddress.clear();
PersonTelephoneNumbers.clear();
+ PersonTelecomInformation.clear();
InstitutionName.clear();
InstitutionAddress.clear();
InstitutionCodeSequence.clear();
return PersonIdentificationCodeSequence.isEmpty() &&
PersonAddress.isEmpty() &&
PersonTelephoneNumbers.isEmpty() &&
+ PersonTelecomInformation.isEmpty() &&
InstitutionName.isEmpty() &&
InstitutionAddress.isEmpty() &&
InstitutionCodeSequence.isEmpty();
PersonIdentificationCodeSequence.read(item, "1-n", "1", "ReferringPhysicianIdentificationSequence");
getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "ReferringPhysicianIdentificationSequence");
getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "ReferringPhysicianIdentificationSequence");
+ getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "ReferringPhysicianIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "ReferringPhysicianIdentificationSequence");
getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "ReferringPhysicianIdentificationSequence");
InstitutionCodeSequence.read(item, "1-n", "1C", "ReferringPhysicianIdentificationSequence");
if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "ReferringPhysicianIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "ReferringPhysicianIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "ReferringPhysicianIdentificationSequence");
+ addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "ReferringPhysicianIdentificationSequence");
addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "ReferringPhysicianIdentificationSequence");
addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "ReferringPhysicianIdentificationSequence");
if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "ReferringPhysicianIdentificationSequence");
}
+OFCondition DRTReferringPhysicianIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(PersonTelecomInformation, value, pos);
+}
+
+
OFCondition DRTReferringPhysicianIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTReferringPhysicianIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = PersonTelecomInformation.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTReferringPhysicianIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReasonForPerformedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ReasonForPerformedProcedureCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ReasonForPerformedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ReasonForPerformedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ReasonForPerformedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ReasonForPerformedProcedureCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ReasonForPerformedProcedureCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ReasonForPerformedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ReasonForPerformedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ReasonForPerformedProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ReasonForPerformedProcedureCodeSequence");
}
+OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTReasonForPerformedProcedureCodeSequence::DRTReasonForPerformedProcedureCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedPatientPhotoSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
SeriesInstanceUID(DCM_SeriesInstanceUID),
StudyInstanceUID(DCM_StudyInstanceUID),
TypeOfInstances(DCM_TypeOfInstances),
+ WADORSRetrievalSequence(emptyDefaultItem /*emptyDefaultSequence*/),
WADORetrievalSequence(emptyDefaultItem /*emptyDefaultSequence*/),
XDSRetrievalSequence(emptyDefaultItem /*emptyDefaultSequence*/)
{
SeriesInstanceUID(copy.SeriesInstanceUID),
StudyInstanceUID(copy.StudyInstanceUID),
TypeOfInstances(copy.TypeOfInstances),
+ WADORSRetrievalSequence(copy.WADORSRetrievalSequence),
WADORetrievalSequence(copy.WADORetrievalSequence),
XDSRetrievalSequence(copy.XDSRetrievalSequence)
{
SeriesInstanceUID = copy.SeriesInstanceUID;
StudyInstanceUID = copy.StudyInstanceUID;
TypeOfInstances = copy.TypeOfInstances;
+ WADORSRetrievalSequence = copy.WADORSRetrievalSequence;
WADORetrievalSequence = copy.WADORetrievalSequence;
XDSRetrievalSequence = copy.XDSRetrievalSequence;
}
DICOMMediaRetrievalSequence.clear();
WADORetrievalSequence.clear();
XDSRetrievalSequence.clear();
+ WADORSRetrievalSequence.clear();
}
}
DICOMRetrievalSequence.isEmpty() &&
DICOMMediaRetrievalSequence.isEmpty() &&
WADORetrievalSequence.isEmpty() &&
- XDSRetrievalSequence.isEmpty();
+ XDSRetrievalSequence.isEmpty() &&
+ WADORSRetrievalSequence.isEmpty();
}
DICOMMediaRetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
WADORetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
XDSRetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
+ WADORSRetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
result = EC_Normal;
}
return result;
if (result.good()) result = DICOMMediaRetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
if (result.good()) result = WADORetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
if (result.good()) result = XDSRetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
+ if (result.good()) result = WADORSRetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence");
}
return result;
}
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTROIPhysicalPropertiesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedPerformedProcedureStepSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedPatientSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedReferenceImageSequenceInRTBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedReferenceImageSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedReferenceImageSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRecordedRangeModulatorSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReasonForRequestedProcedureCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ReasonForRequestedProcedureCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ReasonForRequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ReasonForRequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ReasonForRequestedProcedureCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ReasonForRequestedProcedureCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ReasonForRequestedProcedureCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ReasonForRequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ReasonForRequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ReasonForRequestedProcedureCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ReasonForRequestedProcedureCodeSequence");
}
+OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTReasonForRequestedProcedureCodeSequence::DRTReasonForRequestedProcedureCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRelatedRTROIObservationsSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRTRelatedROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRecordedRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedRTPlanSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedRTPlanSequenceInRTGeneralPlanModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedRTPlanSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedRTPlanSequenceInRTImageModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRequestingServiceCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "RequestingServiceCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "RequestingServiceCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "RequestingServiceCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "RequestingServiceCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "RequestingServiceCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "RequestingServiceCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "RequestingServiceCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "RequestingServiceCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "RequestingServiceCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "RequestingServiceCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "RequestingServiceCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "RequestingServiceCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "RequestingServiceCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "RequestingServiceCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "RequestingServiceCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "RequestingServiceCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "RequestingServiceCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "RequestingServiceCodeSequence");
}
+OFCondition DRTRequestingServiceCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTRequestingServiceCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTRequestingServiceCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTRequestingServiceCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTRequestingServiceCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTRequestingServiceCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTRequestingServiceCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTRequestingServiceCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTRequestingServiceCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTRequestingServiceCodeSequence::DRTRequestingServiceCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRTReferencedSeriesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRangeShifterSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRangeShifterSettingsSequenceInRTIonBeamsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRangeShifterSettingsSequenceInRTIonBeamsSessionRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedSetupImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRecordedSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedSOPSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedSpatialRegistrationSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedStructureSetSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRTReferencedStudySequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedTreatmentRecordSequenceInRTDoseModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedTreatmentRecordSequenceInRTGeneralTreatmentRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTReferencedVerificationImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRecordedWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTRealWorldValueMappingSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
LUTExplanation(DCM_LUTExplanation),
LUTLabel(DCM_LUTLabel),
MeasurementUnitsCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ QuantityDefinitionSequence(emptyDefaultItem /*emptyDefaultSequence*/),
RealWorldValueFirstValueMapped(DCM_RealWorldValueFirstValueMapped),
RealWorldValueIntercept(DCM_RealWorldValueIntercept),
RealWorldValueLUTData(DCM_RealWorldValueLUTData),
LUTExplanation(copy.LUTExplanation),
LUTLabel(copy.LUTLabel),
MeasurementUnitsCodeSequence(copy.MeasurementUnitsCodeSequence),
+ QuantityDefinitionSequence(copy.QuantityDefinitionSequence),
RealWorldValueFirstValueMapped(copy.RealWorldValueFirstValueMapped),
RealWorldValueIntercept(copy.RealWorldValueIntercept),
RealWorldValueLUTData(copy.RealWorldValueLUTData),
LUTExplanation = copy.LUTExplanation;
LUTLabel = copy.LUTLabel;
MeasurementUnitsCodeSequence = copy.MeasurementUnitsCodeSequence;
+ QuantityDefinitionSequence = copy.QuantityDefinitionSequence;
RealWorldValueFirstValueMapped = copy.RealWorldValueFirstValueMapped;
RealWorldValueIntercept = copy.RealWorldValueIntercept;
RealWorldValueLUTData = copy.RealWorldValueLUTData;
LUTExplanation.clear();
LUTLabel.clear();
MeasurementUnitsCodeSequence.clear();
+ QuantityDefinitionSequence.clear();
}
}
RealWorldValueLUTData.isEmpty() &&
LUTExplanation.isEmpty() &&
LUTLabel.isEmpty() &&
- MeasurementUnitsCodeSequence.isEmpty();
+ MeasurementUnitsCodeSequence.isEmpty() &&
+ QuantityDefinitionSequence.isEmpty();
}
getAndCheckElementFromDataset(item, LUTExplanation, "1", "1", "RealWorldValueMappingSequence");
getAndCheckElementFromDataset(item, LUTLabel, "1", "1", "RealWorldValueMappingSequence");
MeasurementUnitsCodeSequence.read(item, "1-n", "1", "RealWorldValueMappingSequence");
+ QuantityDefinitionSequence.read(item, "1-n", "3", "RealWorldValueMappingSequence");
result = EC_Normal;
}
return result;
addElementToDataset(result, item, new DcmLongString(LUTExplanation), "1", "1", "RealWorldValueMappingSequence");
addElementToDataset(result, item, new DcmShortString(LUTLabel), "1", "1", "RealWorldValueMappingSequence");
if (result.good()) result = MeasurementUnitsCodeSequence.write(item, "1-n", "1", "RealWorldValueMappingSequence");
+ if (result.good()) result = QuantityDefinitionSequence.write(item, "1-n", "3", "RealWorldValueMappingSequence");
}
return result;
}
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTStudiesContainingOtherReferencedInstancesSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTSeriesDescriptionCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "SeriesDescriptionCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "SeriesDescriptionCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "SeriesDescriptionCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "SeriesDescriptionCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "SeriesDescriptionCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "SeriesDescriptionCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "SeriesDescriptionCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "SeriesDescriptionCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "SeriesDescriptionCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "SeriesDescriptionCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "SeriesDescriptionCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "SeriesDescriptionCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "SeriesDescriptionCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "SeriesDescriptionCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "SeriesDescriptionCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "SeriesDescriptionCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "SeriesDescriptionCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "SeriesDescriptionCodeSequence");
}
+OFCondition DRTSeriesDescriptionCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTSeriesDescriptionCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTSeriesDescriptionCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTSeriesDescriptionCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTSeriesDescriptionCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTSeriesDescriptionCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTSeriesDescriptionCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTSeriesDescriptionCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTSeriesDescriptionCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTSeriesDescriptionCodeSequence::DRTSeriesDescriptionCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTSetupDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTShieldingDeviceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTSourceImageSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTSnoutSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTSegmentedPropertyCategoryCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
- MappingResource(DCM_MappingResource)
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
+ MappingResource(DCM_MappingResource),
+ MappingResourceUID(DCM_MappingResourceUID),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
- MappingResource(copy.MappingResource)
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
+ MappingResource(copy.MappingResource),
+ MappingResourceUID(copy.MappingResourceUID),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "SegmentedPropertyCategoryCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "SegmentedPropertyCategoryCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "SegmentedPropertyCategoryCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "SegmentedPropertyCategoryCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "SegmentedPropertyCategoryCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "SegmentedPropertyCategoryCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "SegmentedPropertyCategoryCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "SegmentedPropertyCategoryCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "SegmentedPropertyCategoryCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "SegmentedPropertyCategoryCodeSequence");
}
+OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTSegmentedPropertyCategoryCodeSequence::DRTSegmentedPropertyCategoryCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTScheduledProtocolCodeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
ContextGroupVersion(DCM_ContextGroupVersion),
ContextIdentifier(DCM_ContextIdentifier),
ContextUID(DCM_ContextUID),
+ EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ LongCodeValue(DCM_LongCodeValue),
MappingResource(DCM_MappingResource),
- ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/)
+ MappingResourceUID(DCM_MappingResourceUID),
+ ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/),
+ URNCodeValue(DCM_URNCodeValue)
{
}
ContextGroupVersion(copy.ContextGroupVersion),
ContextIdentifier(copy.ContextIdentifier),
ContextUID(copy.ContextUID),
+ EquivalentCodeSequence(copy.EquivalentCodeSequence),
+ LongCodeValue(copy.LongCodeValue),
MappingResource(copy.MappingResource),
- ProtocolContextSequence(copy.ProtocolContextSequence)
+ MappingResourceUID(copy.MappingResourceUID),
+ ProtocolContextSequence(copy.ProtocolContextSequence),
+ URNCodeValue(copy.URNCodeValue)
{
}
ContextGroupVersion = copy.ContextGroupVersion;
ContextIdentifier = copy.ContextIdentifier;
ContextUID = copy.ContextUID;
+ EquivalentCodeSequence = copy.EquivalentCodeSequence;
+ LongCodeValue = copy.LongCodeValue;
MappingResource = copy.MappingResource;
+ MappingResourceUID = copy.MappingResourceUID;
ProtocolContextSequence = copy.ProtocolContextSequence;
+ URNCodeValue = copy.URNCodeValue;
}
return *this;
}
CodingSchemeDesignator.clear();
CodingSchemeVersion.clear();
CodeMeaning.clear();
+ LongCodeValue.clear();
+ URNCodeValue.clear();
+ EquivalentCodeSequence.clear();
ContextIdentifier.clear();
ContextUID.clear();
MappingResource.clear();
+ MappingResourceUID.clear();
ContextGroupVersion.clear();
ContextGroupExtensionFlag.clear();
ContextGroupLocalVersion.clear();
CodingSchemeDesignator.isEmpty() &&
CodingSchemeVersion.isEmpty() &&
CodeMeaning.isEmpty() &&
+ LongCodeValue.isEmpty() &&
+ URNCodeValue.isEmpty() &&
+ EquivalentCodeSequence.isEmpty() &&
ContextIdentifier.isEmpty() &&
ContextUID.isEmpty() &&
MappingResource.isEmpty() &&
+ MappingResourceUID.isEmpty() &&
ContextGroupVersion.isEmpty() &&
ContextGroupExtensionFlag.isEmpty() &&
ContextGroupLocalVersion.isEmpty() &&
{
/* re-initialize object */
clear();
- getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ScheduledProtocolCodeSequence");
- getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ScheduledProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ScheduledProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ScheduledProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ScheduledProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ScheduledProtocolCodeSequence");
+ EquivalentCodeSequence.read(item, "1-n", "3", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ScheduledProtocolCodeSequence");
+ getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ScheduledProtocolCodeSequence");
getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ScheduledProtocolCodeSequence");
if (!EmptyDefaultItem)
{
result = EC_Normal;
- addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ScheduledProtocolCodeSequence");
- addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ScheduledProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ScheduledProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ScheduledProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ScheduledProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ScheduledProtocolCodeSequence");
+ if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ScheduledProtocolCodeSequence");
+ addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ScheduledProtocolCodeSequence");
addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ScheduledProtocolCodeSequence");
}
+OFCondition DRTScheduledProtocolCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(LongCodeValue, value, pos);
+}
+
+
OFCondition DRTScheduledProtocolCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTScheduledProtocolCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(MappingResourceUID, value, pos);
+}
+
+
+OFCondition DRTScheduledProtocolCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(URNCodeValue, value, pos);
+}
+
+
OFCondition DRTScheduledProtocolCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTScheduledProtocolCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = LongCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTScheduledProtocolCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
}
+OFCondition DRTScheduledProtocolCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = MappingResourceUID.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+OFCondition DRTScheduledProtocolCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = URNCodeValue.putOFStringArray(value);
+ }
+ return result;
+}
+
+
// --- sequence class ---
DRTScheduledProtocolCodeSequence::DRTScheduledProtocolCodeSequence(const OFBool emptyDefaultSequence)
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTSourceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTStructureSetROISequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTStructureSetIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
StudyTime(DCM_StudyTime),
ReferringPhysicianName(DCM_ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(),
+ ConsultingPhysicianName(DCM_ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(),
StudyID(DCM_StudyID),
AccessionNumber(DCM_AccessionNumber),
IssuerOfAccessionNumberSequence(),
DateOfLastCalibration(DCM_DateOfLastCalibration),
TimeOfLastCalibration(DCM_TimeOfLastCalibration),
PixelPaddingValue(DCM_PixelPaddingValue),
+ FrameOfReferenceUID(DCM_FrameOfReferenceUID),
+ PositionReferenceIndicator(DCM_PositionReferenceIndicator),
StructureSetLabel(DCM_StructureSetLabel),
StructureSetName(DCM_StructureSetName),
StructureSetDescription(DCM_StructureSetDescription),
QueryRetrieveView(DCM_QueryRetrieveView),
ConversionSourceAttributesSequence(),
ContentQualification(DCM_ContentQualification),
+ PrivateDataElementCharacteristicsSequence(),
ReferencedSeriesSequence(),
StudiesContainingOtherReferencedInstancesSequence()
{
StudyTime(copy.StudyTime),
ReferringPhysicianName(copy.ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
+ ConsultingPhysicianName(copy.ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
StudyID(copy.StudyID),
AccessionNumber(copy.AccessionNumber),
IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
DateOfLastCalibration(copy.DateOfLastCalibration),
TimeOfLastCalibration(copy.TimeOfLastCalibration),
PixelPaddingValue(copy.PixelPaddingValue),
+ FrameOfReferenceUID(copy.FrameOfReferenceUID),
+ PositionReferenceIndicator(copy.PositionReferenceIndicator),
StructureSetLabel(copy.StructureSetLabel),
StructureSetName(copy.StructureSetName),
StructureSetDescription(copy.StructureSetDescription),
QueryRetrieveView(copy.QueryRetrieveView),
ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
ContentQualification(copy.ContentQualification),
+ PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence)
{
StudyTime = copy.StudyTime;
ReferringPhysicianName = copy.ReferringPhysicianName;
ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
+ ConsultingPhysicianName = copy.ConsultingPhysicianName;
+ ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
StudyID = copy.StudyID;
AccessionNumber = copy.AccessionNumber;
IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
DateOfLastCalibration = copy.DateOfLastCalibration;
TimeOfLastCalibration = copy.TimeOfLastCalibration;
PixelPaddingValue = copy.PixelPaddingValue;
+ FrameOfReferenceUID = copy.FrameOfReferenceUID;
+ PositionReferenceIndicator = copy.PositionReferenceIndicator;
StructureSetLabel = copy.StructureSetLabel;
StructureSetName = copy.StructureSetName;
StructureSetDescription = copy.StructureSetDescription;
QueryRetrieveView = copy.QueryRetrieveView;
ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
ContentQualification = copy.ContentQualification;
+ PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
}
StudyTime.clear();
ReferringPhysicianName.clear();
ReferringPhysicianIdentificationSequence.clear();
+ ConsultingPhysicianName.clear();
+ ConsultingPhysicianIdentificationSequence.clear();
StudyID.clear();
AccessionNumber.clear();
IssuerOfAccessionNumberSequence.clear();
DateOfLastCalibration.clear();
TimeOfLastCalibration.clear();
PixelPaddingValue.clear();
+ FrameOfReferenceUID.clear();
+ PositionReferenceIndicator.clear();
StructureSetLabel.clear();
StructureSetName.clear();
StructureSetDescription.clear();
QueryRetrieveView.clear();
ConversionSourceAttributesSequence.clear();
ContentQualification.clear();
+ PrivateDataElementCharacteristicsSequence.clear();
ReferencedSeriesSequence.clear();
StudiesContainingOtherReferencedInstancesSequence.clear();
}
getAndCheckElementFromDataset(dataset, TimeOfLastCalibration, "1-n", "3", "GeneralEquipmentModule");
getAndCheckElementFromDataset(dataset, PixelPaddingValue, "1", "1C", "GeneralEquipmentModule");
+ // --- FrameOfReferenceModule (U) ---
+ if (dataset.tagExists(DCM_FrameOfReferenceUID) ||
+ dataset.tagExists(DCM_PositionReferenceIndicator))
+ {
+ getAndCheckElementFromDataset(dataset, FrameOfReferenceUID, "1", "1", "FrameOfReferenceModule");
+ getAndCheckElementFromDataset(dataset, PositionReferenceIndicator, "1", "2", "FrameOfReferenceModule");
+ }
+
// --- StructureSetModule (M) ---
getAndCheckElementFromDataset(dataset, StructureSetLabel, "1", "1", "StructureSetModule");
getAndCheckElementFromDataset(dataset, StructureSetName, "1", "3", "StructureSetModule");
getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
+ PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
+ getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
+ ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
+ addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
+ if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(TimeOfLastCalibration), "1-n", "3", "GeneralEquipmentModule");
addElementToDataset(result, dataset, new DcmUnsignedShort(PixelPaddingValue), "1", "1C", "GeneralEquipmentModule");
+ // --- FrameOfReferenceModule (U) ---
+ if (isFrameOfReferenceModulePresent(OFFalse /*complete*/))
+ {
+ addElementToDataset(result, dataset, new DcmUniqueIdentifier(FrameOfReferenceUID), "1", "1", "FrameOfReferenceModule");
+ addElementToDataset(result, dataset, new DcmLongString(PositionReferenceIndicator), "1", "2", "FrameOfReferenceModule");
+ }
+
// --- StructureSetModule (M) ---
addElementToDataset(result, dataset, new DcmShortString(StructureSetLabel), "1", "1", "StructureSetModule");
addElementToDataset(result, dataset, new DcmLongString(StructureSetName), "1", "3", "StructureSetModule");
addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
+ if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
}
+OFBool DRTStructureSetIOD::isFrameOfReferenceModulePresent(const OFBool complete)
+{
+ if (complete)
+ {
+ /* check whether all mandatory attributes are present */
+ return !FrameOfReferenceUID.isEmpty();
+ } else {
+ /* check whether at least one attribute is present */
+ return !FrameOfReferenceUID.isEmpty() ||
+ !PositionReferenceIndicator.isEmpty();
+ }
+}
+
+
OFBool DRTStructureSetIOD::isApprovalModulePresent(const OFBool complete)
{
if (complete)
}
+OFCondition DRTStructureSetIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(ConsultingPhysicianName, value, pos);
+}
+
+
OFCondition DRTStructureSetIOD::getContentQualification(OFString &value, const signed long pos) const
{
return getStringValueFromElement(ContentQualification, value, pos);
}
+OFCondition DRTStructureSetIOD::getFrameOfReferenceUID(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(FrameOfReferenceUID, value, pos);
+}
+
+
OFCondition DRTStructureSetIOD::getGantryID(OFString &value, const signed long pos) const
{
return getStringValueFromElement(GantryID, value, pos);
}
+OFCondition DRTStructureSetIOD::getPositionReferenceIndicator(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(PositionReferenceIndicator, value, pos);
+}
+
+
OFCondition DRTStructureSetIOD::getQualityControlSubject(OFString &value, const signed long pos) const
{
return getStringValueFromElement(QualityControlSubject, value, pos);
}
+OFCondition DRTStructureSetIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = ConsultingPhysicianName.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTStructureSetIOD::setContentQualification(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
}
+OFCondition DRTStructureSetIOD::setFrameOfReferenceUID(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = FrameOfReferenceUID.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTStructureSetIOD::setGantryID(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
}
+OFCondition DRTStructureSetIOD::setPositionReferenceIndicator(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = PositionReferenceIndicator.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTStructureSetIOD::setQualityControlSubject(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTTreatmentMachineSequenceInRTTreatmentMachineRecordModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTTreatmentMachineSequenceInRTBrachyApplicationSetupsModule
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTTreatmentSummaryRecordIOD
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
StudyTime(DCM_StudyTime),
ReferringPhysicianName(DCM_ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(),
+ ConsultingPhysicianName(DCM_ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(),
StudyID(DCM_StudyID),
AccessionNumber(DCM_AccessionNumber),
IssuerOfAccessionNumberSequence(),
QueryRetrieveView(DCM_QueryRetrieveView),
ConversionSourceAttributesSequence(),
ContentQualification(DCM_ContentQualification),
+ PrivateDataElementCharacteristicsSequence(),
ReferencedSeriesSequence(),
StudiesContainingOtherReferencedInstancesSequence()
{
StudyTime(copy.StudyTime),
ReferringPhysicianName(copy.ReferringPhysicianName),
ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
+ ConsultingPhysicianName(copy.ConsultingPhysicianName),
+ ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
StudyID(copy.StudyID),
AccessionNumber(copy.AccessionNumber),
IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
QueryRetrieveView(copy.QueryRetrieveView),
ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
ContentQualification(copy.ContentQualification),
+ PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence)
{
StudyTime = copy.StudyTime;
ReferringPhysicianName = copy.ReferringPhysicianName;
ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
+ ConsultingPhysicianName = copy.ConsultingPhysicianName;
+ ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
StudyID = copy.StudyID;
AccessionNumber = copy.AccessionNumber;
IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
QueryRetrieveView = copy.QueryRetrieveView;
ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
ContentQualification = copy.ContentQualification;
+ PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
}
StudyTime.clear();
ReferringPhysicianName.clear();
ReferringPhysicianIdentificationSequence.clear();
+ ConsultingPhysicianName.clear();
+ ConsultingPhysicianIdentificationSequence.clear();
StudyID.clear();
AccessionNumber.clear();
IssuerOfAccessionNumberSequence.clear();
QueryRetrieveView.clear();
ConversionSourceAttributesSequence.clear();
ContentQualification.clear();
+ PrivateDataElementCharacteristicsSequence.clear();
ReferencedSeriesSequence.clear();
StudiesContainingOtherReferencedInstancesSequence.clear();
}
getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
+ PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
+ getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
+ ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
+ addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
+ if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
+ if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
// --- CommonInstanceReferenceModule (U) ---
if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
}
+OFCondition DRTTreatmentSummaryRecordIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
+{
+ return getStringValueFromElement(ConsultingPhysicianName, value, pos);
+}
+
+
OFCondition DRTTreatmentSummaryRecordIOD::getContentQualification(OFString &value, const signed long pos) const
{
return getStringValueFromElement(ContentQualification, value, pos);
}
+OFCondition DRTTreatmentSummaryRecordIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
+{
+ OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
+ if (result.good())
+ result = ConsultingPhysicianName.putOFStringArray(value);
+ return result;
+}
+
+
OFCondition DRTTreatmentSummaryRecordIOD::setContentQualification(const OFString &value, const OFBool check)
{
OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTTreatmentSummaryCalculatedDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTTreatmentSessionIonBeamSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTTreatmentSummaryMeasuredDoseReferenceSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTToleranceTableSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTVOILUTSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTWedgePositionSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTWADORetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class DRTWADORSRetrievalSequence
+ *
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
+
+#include "dcmtk/dcmrt/seq/drtwrsrs.h"
+
+
+// --- item class ---
+
+DRTWADORSRetrievalSequence::Item::Item(const OFBool emptyDefaultItem)
+ : EmptyDefaultItem(emptyDefaultItem),
+ RetrieveURL(DCM_RetrieveURL)
+{
+}
+
+
+DRTWADORSRetrievalSequence::Item::Item(const Item ©)
+ : EmptyDefaultItem(copy.EmptyDefaultItem),
+ RetrieveURL(copy.RetrieveURL)
+{
+}
+
+
+DRTWADORSRetrievalSequence::Item::~Item()
+{
+}
+
+
+DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::Item::operator=(const Item ©)
+{
+ if (this != ©)
+ {
+ EmptyDefaultItem = copy.EmptyDefaultItem;
+ RetrieveURL = copy.RetrieveURL;
+ }
+ return *this;
+}
+
+
+void DRTWADORSRetrievalSequence::Item::clear()
+{
+ if (!EmptyDefaultItem)
+ {
+ /* clear all DICOM attributes */
+ RetrieveURL.clear();
+ }
+}
+
+
+OFBool DRTWADORSRetrievalSequence::Item::isEmpty()
+{
+ return RetrieveURL.isEmpty();
+}
+
+
+OFBool DRTWADORSRetrievalSequence::Item::isValid() const
+{
+ return !EmptyDefaultItem;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::Item::read(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ /* re-initialize object */
+ clear();
+ getAndCheckElementFromDataset(item, RetrieveURL, "1", "1", "WADORSRetrievalSequence");
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::Item::write(DcmItem &item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = EC_Normal;
+ addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(RetrieveURL), "1", "1", "WADORSRetrievalSequence");
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::Item::getRetrieveURL(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(RetrieveURL, value, pos);
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::Item::setRetrieveURL(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal;
+ if (result.good())
+ result = RetrieveURL.putOFStringArray(value);
+ }
+ return result;
+}
+
+
+// --- sequence class ---
+
+DRTWADORSRetrievalSequence::DRTWADORSRetrievalSequence(const OFBool emptyDefaultSequence)
+ : EmptyDefaultSequence(emptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ CurrentItem = SequenceOfItems.end();
+}
+
+
+DRTWADORSRetrievalSequence::DRTWADORSRetrievalSequence(const DRTWADORSRetrievalSequence ©)
+ : EmptyDefaultSequence(copy.EmptyDefaultSequence),
+ SequenceOfItems(),
+ CurrentItem(),
+ EmptyItem(OFTrue /*emptyDefaultItem*/)
+{
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+}
+
+
+DRTWADORSRetrievalSequence &DRTWADORSRetrievalSequence::operator=(const DRTWADORSRetrievalSequence ©)
+{
+ if (this != ©)
+ {
+ clear();
+ EmptyDefaultSequence = copy.EmptyDefaultSequence;
+ /* create a copy of the internal sequence of items */
+ Item *item = NULL;
+ OFListConstIterator(Item *) current = copy.SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = copy.SequenceOfItems.end();
+ while (current != last)
+ {
+ item = new Item(**current);
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ } else {
+ /* memory exhausted, there is nothing we can do about it */
+ break;
+ }
+ ++current;
+ }
+ CurrentItem = SequenceOfItems.begin();
+ }
+ return *this;
+}
+
+
+DRTWADORSRetrievalSequence::~DRTWADORSRetrievalSequence()
+{
+ clear();
+}
+
+
+void DRTWADORSRetrievalSequence::clear()
+{
+ if (!EmptyDefaultSequence)
+ {
+ CurrentItem = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* delete all items and free memory */
+ while (CurrentItem != last)
+ {
+ delete (*CurrentItem);
+ CurrentItem = SequenceOfItems.erase(CurrentItem);
+ }
+ /* make sure that the list is empty */
+ SequenceOfItems.clear();
+ CurrentItem = SequenceOfItems.end();
+ }
+}
+
+
+OFBool DRTWADORSRetrievalSequence::isEmpty()
+{
+ return SequenceOfItems.empty();
+}
+
+
+OFBool DRTWADORSRetrievalSequence::isValid() const
+{
+ return !EmptyDefaultSequence;
+}
+
+
+unsigned long DRTWADORSRetrievalSequence::getNumberOfItems() const
+{
+ return SequenceOfItems.size();
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::gotoFirstItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ CurrentItem = SequenceOfItems.begin();
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::gotoNextItem()
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ ++CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (!SequenceOfItems.empty())
+ {
+ unsigned long idx = num + 1;
+ iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ while ((--idx > 0) && (iterator != last))
+ ++iterator;
+ /* specified list item found? */
+ if ((idx == 0) && (iterator != last))
+ result = EC_Normal;
+ else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::gotoItem(const unsigned long num)
+{
+ return gotoItem(num, CurrentItem);
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::getCurrentItem(Item *&item) const
+{
+ OFCondition result = EC_IllegalCall;
+ if (CurrentItem != SequenceOfItems.end())
+ {
+ item = *CurrentItem;
+ result = EC_Normal;
+ }
+ return result;
+}
+
+
+DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getCurrentItem()
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+const DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getCurrentItem() const
+{
+ if (CurrentItem != SequenceOfItems.end())
+ return **CurrentItem;
+ else
+ return EmptyItem;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::getItem(const unsigned long num, Item *&item)
+{
+ OFListIterator(Item *) iterator;
+ OFCondition result = gotoItem(num, iterator);
+ if (result.good())
+ item = *iterator;
+ return result;
+}
+
+
+DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getItem(const unsigned long num)
+{
+ OFListIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+const DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getItem(const unsigned long num) const
+{
+ OFListConstIterator(Item *) iterator;
+ if (gotoItem(num, iterator).good())
+ return **iterator;
+ else
+ return EmptyItem;
+}
+
+
+DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::operator[](const unsigned long num)
+{
+ return getItem(num);
+}
+
+
+const DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::operator[](const unsigned long num) const
+{
+ return getItem(num);
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::addItem(Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.push_back(item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::insertItem(const unsigned long pos, Item *&item)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ result = gotoItem(pos, iterator);
+ if (result.good())
+ {
+ item = new Item();
+ if (item != NULL)
+ {
+ SequenceOfItems.insert(iterator, 1, item);
+ result = EC_Normal;
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = addItem(item);
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::removeItem(const unsigned long pos)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ OFListIterator(Item *) iterator;
+ if (gotoItem(pos, iterator).good())
+ {
+ delete *iterator;
+ iterator = SequenceOfItems.erase(iterator);
+ result = EC_Normal;
+ } else
+ result = EC_IllegalParameter;
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::read(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ /* re-initialize object */
+ clear();
+ /* retrieve sequence element from dataset */
+ DcmSequenceOfItems *sequence;
+ result = dataset.findAndGetSequence(DCM_WADORSRetrievalSequence, sequence);
+ if (sequence != NULL)
+ {
+ if (checkElementValue(*sequence, card, type, result, moduleName))
+ {
+ DcmStack stack;
+ OFBool first = OFTrue;
+ /* iterate over all sequence items */
+ while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good())
+ {
+ DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top());
+ if (ditem != NULL)
+ {
+ Item *item = new Item();
+ if (item != NULL)
+ {
+ result = item->read(*ditem);
+ if (result.good())
+ {
+ /* append new item to the end of the list */
+ SequenceOfItems.push_back(item);
+ first = OFFalse;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_CorruptedData;
+ }
+ }
+ } else {
+ DcmSequenceOfItems element(DCM_WADORSRetrievalSequence);
+ checkElementValue(element, card, type, result, moduleName);
+ }
+ }
+ return result;
+}
+
+
+OFCondition DRTWADORSRetrievalSequence::write(DcmItem &dataset,
+ const OFString &card,
+ const OFString &type,
+ const char *moduleName)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultSequence)
+ {
+ result = EC_MemoryExhausted;
+ DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_WADORSRetrievalSequence);
+ if (sequence != NULL)
+ {
+ result = EC_Normal;
+ /* an empty optional sequence is not written */
+ if ((type == "2") || !SequenceOfItems.empty())
+ {
+ OFListIterator(Item *) iterator = SequenceOfItems.begin();
+ const OFListConstIterator(Item *) last = SequenceOfItems.end();
+ /* iterate over all sequence items */
+ while (result.good() && (iterator != last))
+ {
+ DcmItem *item = new DcmItem();
+ if (item != NULL)
+ {
+ /* append new item to the end of the sequence */
+ result = sequence->append(item);
+ if (result.good())
+ {
+ result = (*iterator)->write(*item);
+ ++iterator;
+ } else
+ delete item;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ if (result.good())
+ {
+ /* insert sequence element into the dataset */
+ result = dataset.insert(sequence, OFTrue /*replaceOld*/);
+ }
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ if (result.good())
+ {
+ /* forget reference to sequence object (avoid deletion below) */
+ sequence = NULL;
+ }
+ }
+ else if (type == "1")
+ {
+ /* empty type 1 sequence not allowed */
+ result = RT_EC_InvalidValue;
+ if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL))
+ checkElementValue(*sequence, card, type, result, moduleName);
+ }
+ /* delete sequence (if not inserted into the dataset) */
+ delete sequence;
+ }
+ }
+ return result;
+}
+
+
+// end of source file
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTWedgeSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
DRTWedgeSequence::Item::Item(const OFBool emptyDefaultItem)
: EmptyDefaultItem(emptyDefaultItem),
AccessoryCode(DCM_AccessoryCode),
+ EffectiveWedgeAngle(DCM_EffectiveWedgeAngle),
SourceToWedgeTrayDistance(DCM_SourceToWedgeTrayDistance),
WedgeAngle(DCM_WedgeAngle),
WedgeFactor(DCM_WedgeFactor),
DRTWedgeSequence::Item::Item(const Item ©)
: EmptyDefaultItem(copy.EmptyDefaultItem),
AccessoryCode(copy.AccessoryCode),
+ EffectiveWedgeAngle(copy.EffectiveWedgeAngle),
SourceToWedgeTrayDistance(copy.SourceToWedgeTrayDistance),
WedgeAngle(copy.WedgeAngle),
WedgeFactor(copy.WedgeFactor),
{
EmptyDefaultItem = copy.EmptyDefaultItem;
AccessoryCode = copy.AccessoryCode;
+ EffectiveWedgeAngle = copy.EffectiveWedgeAngle;
SourceToWedgeTrayDistance = copy.SourceToWedgeTrayDistance;
WedgeAngle = copy.WedgeAngle;
WedgeFactor = copy.WedgeFactor;
WedgeFactor.clear();
WedgeOrientation.clear();
SourceToWedgeTrayDistance.clear();
+ EffectiveWedgeAngle.clear();
}
}
WedgeAngle.isEmpty() &&
WedgeFactor.isEmpty() &&
WedgeOrientation.isEmpty() &&
- SourceToWedgeTrayDistance.isEmpty();
+ SourceToWedgeTrayDistance.isEmpty() &&
+ EffectiveWedgeAngle.isEmpty();
}
getAndCheckElementFromDataset(item, WedgeFactor, "1", "2", "WedgeSequence");
getAndCheckElementFromDataset(item, WedgeOrientation, "1", "2", "WedgeSequence");
getAndCheckElementFromDataset(item, SourceToWedgeTrayDistance, "1", "3", "WedgeSequence");
+ getAndCheckElementFromDataset(item, EffectiveWedgeAngle, "1", "3", "WedgeSequence");
result = EC_Normal;
}
return result;
addElementToDataset(result, item, new DcmDecimalString(WedgeFactor), "1", "2", "WedgeSequence");
addElementToDataset(result, item, new DcmDecimalString(WedgeOrientation), "1", "2", "WedgeSequence");
addElementToDataset(result, item, new DcmDecimalString(SourceToWedgeTrayDistance), "1", "3", "WedgeSequence");
+ addElementToDataset(result, item, new DcmDecimalString(EffectiveWedgeAngle), "1", "3", "WedgeSequence");
}
return result;
}
}
+OFCondition DRTWedgeSequence::Item::getEffectiveWedgeAngle(OFString &value, const signed long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return getStringValueFromElement(EffectiveWedgeAngle, value, pos);
+}
+
+
+OFCondition DRTWedgeSequence::Item::getEffectiveWedgeAngle(Float64 &value, const unsigned long pos) const
+{
+ if (EmptyDefaultItem)
+ return EC_IllegalCall;
+ else
+ return OFconst_cast(DcmDecimalString &, EffectiveWedgeAngle).getFloat64(value, pos);
+}
+
+
OFCondition DRTWedgeSequence::Item::getSourceToWedgeTrayDistance(OFString &value, const signed long pos) const
{
if (EmptyDefaultItem)
}
+OFCondition DRTWedgeSequence::Item::setEffectiveWedgeAngle(const OFString &value, const OFBool check)
+{
+ OFCondition result = EC_IllegalCall;
+ if (!EmptyDefaultItem)
+ {
+ result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
+ if (result.good())
+ result = EffectiveWedgeAngle.putOFStringArray(value);
+ }
+ return result;
+}
+
+
OFCondition DRTWedgeSequence::Item::setSourceToWedgeTrayDistance(const OFString &value, const OFBool check)
{
OFCondition result = EC_IllegalCall;
/*
*
* Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
- * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class DRTXDSRetrievalSequence
*
- * Generated automatically from DICOM PS 3.3-2014b
- * File created on 2014-10-31 15:59:21
+ * Generated automatically from DICOM PS 3.3-2015c
+ * File created on 2015-12-07 16:29:33
*
*/
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtbrs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdvhs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpsss.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \
../include/dcmtk/dcmrt/seq/drtcis.h \
../include/dcmtk/dcmrt/seq/drtrdros.h \
../include/dcmtk/dcmrt/seq/drtrwvms.h \
+ ../include/dcmtk/dcmrt/seq/drtqds.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrfors.h \
../include/dcmtk/dcmrt/seq/drtrsts.h \
../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps.h \
../include/dcmtk/dcmrt/seq/drtrfgs.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtass.h \
- ../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \
- ../include/dcmtk/dcmrt/seq/drtbcps.h \
+ ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \
+ ../include/dcmtk/dcmrt/seq/drtass.h ../include/dcmtk/dcmrt/seq/drtbads.h \
+ ../include/dcmtk/dcmrt/seq/drtchs.h ../include/dcmtk/dcmrt/seq/drtbcps.h \
../include/dcmtk/dcmrt/seq/drtbrdrs.h \
../include/dcmtk/dcmrt/seq/drtcshs.h \
../include/dcmtk/dcmrt/seq/drtrris9.h ../include/dcmtk/dcmrt/seq/drtbs.h \
../include/dcmtk/dcmrt/seq/drtbrcss.h \
../include/dcmtk/dcmrt/seq/drtcsis.h \
../include/dcmtk/dcmrt/seq/drtcctus.h \
- ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \
- ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \
+ ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \
+ ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \
+ ../include/dcmtk/dcmrt/seq/drtois.h \
../include/dcmtk/dcmrt/seq/drtporcs.h \
../include/dcmtk/dcmrt/seq/drtcsas.h \
../include/dcmtk/dcmrt/seq/drtdimcs.h \
../include/dcmtk/dcmrt/seq/drtrsos.h \
../include/dcmtk/dcmrt/seq/drtporis.h \
../include/dcmtk/dcmrt/seq/drtprsis.h \
- ../include/dcmtk/dcmrt/seq/drtpcs.h \
+ ../include/dcmtk/dcmrt/seq/drtpdecs.h \
+ ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \
../include/dcmtk/dcmrt/seq/drtrppcs.h \
../include/dcmtk/dcmrt/seq/drtrpphs.h \
../include/dcmtk/dcmrt/seq/drtdimrs.h \
- ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \
- ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \
+ ../include/dcmtk/dcmrt/seq/drtdirs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrsrs.h \
+ ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \
+ ../include/dcmtk/dcmrt/seq/drtrps.h \
../include/dcmtk/dcmrt/seq/drtrppss.h \
../include/dcmtk/dcmrt/seq/drtrrtps3.h \
../include/dcmtk/dcmrt/seq/drtrsers.h \
PROJECT(dcmseg)
# declare include directories which hold for all subdirectories
-INCLUDE_DIRECTORIES(${dcmseg_SOURCE_DIR}/include ${dcmfg_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmsr_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES(${dcmseg_SOURCE_DIR}/include ${dcmfg_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR})
# recurse into subdirectories
-FOREACH(SUBDIR libsrc include)
+FOREACH(SUBDIR libsrc include tests)
ADD_SUBDIRECTORY(${SUBDIR})
ENDFOREACH(SUBDIR)
dependencies:
(cd libsrc && touch $(DEP) && $(MAKE) dependencies)
-# (cd tests && touch $(DEP) && $(MAKE) dependencies)
+ (cd tests && touch $(DEP) && $(MAKE) dependencies)
--- /dev/null
+# declare executables
+FOREACH(PROGRAM makeseg rwseg)
+ DCMTK_ADD_EXECUTABLE(${PROGRAM} ${PROGRAM})
+ENDFOREACH(PROGRAM)
+
+# make sure executables are linked to the corresponding libraries
+FOREACH(PROGRAM makeseg rwseg)
+ DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmseg dcmfg dcmiod dcmdata oflog ofstd)
+ENDFOREACH(PROGRAM)
/** Get modality (overwrite from DcmIODCommon. We always return "SEG" here)
* @param value Reference to variable in which the value should be stored
- * @param pos Index of the value to get (0..vm-1), -1 for all components
+ * @param pos Index of the value to get. Not evaluated (here for
+ * consistency with other setter functions).
* @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition getModality(OFString &value,
* @param segmentNumber The logical segment number
* @return The segment if segment number is valid, NULL otherwise
*/
- virtual DcmSegment* getSegment(const size_t& segmentNumber);
+ virtual DcmSegment* getSegment(const unsigned int segmentNumber);
/** Get logical segment number by providing a pointer to a given segment
* @param segment The segment to find the logical segment number for
* @return OFTrue if segment could be found, OFFalse otherwise.
*/
virtual OFBool getSegmentNumber(const DcmSegment* segment,
- Uint16& segmentNumber);
+ unsigned int& segmentNumber);
- /** Find segments by their segment label
- * @param segmentLabel
- * @return Vector of segment numbers that match the given label
+ /** Reference to the Performed Procedure Step that led to the creation of this
+ * segmentation object. This is required if this object is created in an MPPS
+ * or GPPS workflow.
+ * @return Reference to the referenced PPS object
*/
- virtual const OFVector<Uint16> findSegmentByLabel(const OFString& segmentLabel);
-
- /** Find segments by their segment's category code
- * @param categoryCode The category code to look for
- * @return Vector of segment numbers that match the given category
- */
- virtual const OFVector<Uint16> findSegmentByCategory(const CodeSequenceMacro& categoryCode);
-
- /** Find segments by their segment's property type code
- * @param propertyType The property type code to look for
- * @return Vector of segment numbers that match the given property type
- */
- virtual const OFVector<Uint16> findSegmentyByType(const CodeSequenceMacro& propertyType);
-
- /** Reference the PPS that led to the creation of this segmentation object.
- * This is required if this object is created in an MPPS or GPPS workflow.
- * @param refSOPClassUID The SOP Class UID of the Performed
- * Procedure Step
- * @param refSOPInstanceUID The SOP Instance UID of the Performed
- * Procedure Step
- * @return EC_Normal if successful, error otherwise.
- */
- virtual void getReferencedPPS(OFString& refSOPClassUID,
- OFString& refSOPInstanceUID) const;
+ virtual SOPInstanceReferenceMacro& getReferencedPPS();
/** Get (const) frame data of a specific frame
* @param frameNo The number of the frame to get (starting with 0)
virtual OFCondition setContentIdentification(const ContentIdentificationMacro& contentIdentification,
const OFBool checkValue = OFTrue);
- /** Reference the PPS that led to the creation of this segmentation object.
- * This is required if this object is created in an MPPS or GPPS workflow.
- * @param refSOPClassUID The SOP Class UID of the Performed
- * Procedure Step
- * @param refSOPInstanceUID The SOP Instance UID of the Performed
- * Procedure Step
- * @return EC_Normal if successful, error otherwise.
- */
- virtual OFCondition setReferencedPPS(const OFString& refSOPClassUID,
- const OFString& refSOPInstanceUID);
-
protected:
/** Protected default constructor. Library users should the factory create..()
*/
virtual OFCondition readSegments(DcmItem& item);
- /** Write frames to given item
+ /** Write fractional frames to given item
* @param dataset The item to write to, usually main dataset level
* @return EC_Normal if writing was successful, error otherwise
*/
- virtual OFCondition writeFrames(DcmItem& dataset);
+ virtual OFCondition writeFractionalFrames(DcmItem& dataset);
+
+ /** Write binary frames to given item
+ * @param dataset The item to write to, usually main dataset level
+ * @return EC_Normal if writing was successful, error otherwise
+ */
+ virtual OFCondition writeBinaryFrames(DcmItem& dataset);
+
/** Write Segmentation Image Module
* @param dataset The item to write to, usually main dataset level
Uint16& numberOfFrames,
OFString& colorModel);
+ /** Extracts Frame structures from the given pixel data element. Only
+ * applicable for binary segmentations. Within the pixel data element, all
+ * frames are packed next to each other, with the end of one frame and the
+ * beginning of the next frame packed bit by bit next to each other. The
+ * resulting Frames are a bit-by-bit copy of their original counterpart.
+ * However, their first bit is aligned to the first bit/byte in the Frame,
+ * and the unused bits in the last byte (if any) are zeroed out.
+ * @param pixData The pixel data to read from
+ * @param numFrames The number of frames to read
+ * @param bitsPerFrame The number of bits per frame (usually rows * columns)
+ * @param results The resulting frames. Memory for the frames is allocated
+ * by the method, so the Vector can/should be empty before calling.
+ */
+ virtual void extractFrames(Uint8* pixData,
+ const size_t numFrames,
+ const size_t bitsPerFrame,
+ OFVector< DcmIODTypes::Frame* >& results);
+
+ /** This is the counterpart to the extractFrames() function. It takes a number
+ * of frames that are in binary segmentation format (i.e. "bit-packed") and
+ * concatenates them together so the resulting memory block fits the Pixel
+ * Data format for binary segmentations. Thus method ensure that frames
+ * are aligned bit for bit concatenated to each other with only (if
+ * applicable) having unused bits after the last frame.
+ * @param frames The source frames
+ * @param pixData The pixel data element data to be filled. Size must be
+ * at least bitsPerFrame * number of frames.
+ * @param bitsPerFrame Bits required per frame, usually rows * columns
+ */
+ virtual void concatFrames(OFVector< DcmIODTypes::Frame* > frames,
+ Uint8* pixData,
+ const size_t bitsPerFrame);
+
/** Add frame to segmentation object.
* @param pixData Pixel data to be added. Length must be rows*columns bytes.
* Pixel data is copied so it must be freed by the caller.
- * @param segmentNumber The logical segment number (>=1) this frame refers
- * to. The segment identified by the segmentNumber must already exist.
* @return EC_Normal if adding was successul, error otherwise
*/
- virtual OFCondition addFrame(Uint8* pixData,
- const Uint16 segmentNumber);
+ virtual OFCondition addFrame(Uint8* pixData);
/// Constant code (required by Segmentation IOD) used to fill Derivation
/// Image Functional Group
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/** Get Segment Number
* @return The Segment number
*/
- virtual Uint16 getSegmentNumber();
+ virtual unsigned int getSegmentNumber();
/** Get Segment Label
* @param value Reference to variable in which the value should be stored
Uint16& a,
Uint16& b);
+ /** Get Tracking ID
+ * @param value Reference to variable in which the value should be stored
+ * @param pos Index of the value to get (0..vm-1), -1 for all components
+ * @return EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getTrackingID(OFString& value,
+ const signed long pos = 0);
+
+ /** Get Tracking UID
+ * @param value Reference to variable in which the value should be stored
+ * @param pos Index of the value to get (0..vm-1), -1 for all components
+ * @return EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getTrackingUID(OFString& value,
+ const signed long pos = 0);
+
+
// -------------- setters --------------------
/** Set Segment Label
const Uint16 b,
const OFBool checkValue = OFTrue);
+ /** Set Tracking ID
+ * @param value Value to be set (single value only) or "" for no value
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
+ * @return EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setTrackingID(const OFString& value,
+ const OFBool checkValue = OFTrue);
+
+ /** Set Tracking UID
+ * @param value Value to be set (single value only) or "" for no value
+ * @param checkValue Check 'value' for conformance with VR (UI) and VM (1) if enabled
+ * @return EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setTrackingUID(const OFString& value,
+ const OFBool checkValue = OFTrue);
+
// The utility class must access the protected default constructor
friend class DcmIODUtil;
/// Recommended Display CIELab Value (US, 3, 3)
DcmUnsignedShort m_RecommendedDisplayCIELabValue;
+ /// Tracking ID (UT, 1, 1C)
+ DcmUnlimitedText m_TrackingID;
+
+ /// Tracking UID (UI, 1, 1C)
+ DcmUniqueIdentifier m_TrackingUID;
+
/// Rules for data elements within this IOD
IODRules m_Rules;
};
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_MaxSegmentsReached;
/// error: specified segment does not exist
extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_NoSuchSegment;
+/// error: unknown segmentation type
+extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_UnknownSegmentationType;
+/// error: invalid value
+extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_InvalidValue;
+/// error: not enough data
+extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_NotEnoughData;
/** General purpose class hiding global functions, constants and types in the
* segmentation context from the global namespace.
/** Set Segment Description
* @param value Value to be set (single value only) or "" for no value
- * @param checkValue Check 'value' for conformance with VR (ST) and VM (1)
- * if enabled
+ * @param checkValue Check 'value'. Not evaluated (here for consistency
+ * with other setter functions).
* @return EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setSegmentDescription(const OFString& value,
*/
static size_t getBytesForBinaryFrame(const size_t& numPixels);
- /** Unpacks a binary segmentation frame into a "sparse" pixel data frame
- * @param frame The input frame in packed format
- * @param rows The number of rows in the pixel data
- * @param cols the number of cols in the pixel data
- * @return The segmentation frame in unpacked format
+ /** Unpacks a binary segmentation frame into a "sparse" pixel data frame where
+ * every resulting byte represents a single bit of the frame being either
+ * 0 (not set) or 1 (set).
+ * @param frame The input buffer with the frame in packed format
+ * @param rows The rows of the frame
+ * @param cols The cols of the frame
+ * @return The segmentation frame in unpacked format. NULL in case of error.
*/
static DcmIODTypes::Frame* unpackBinaryFrame(const DcmIODTypes::Frame* frame,
- const Uint16 rows,
- const Uint16 cols);
+ Uint16 rows,
+ Uint16 cols);
+ /** Shifts the given memory block some defined number of bits to the right
+ * Bits that fall off the last byte are lost (i.e. no "cycled" shift).
+ * @param buf The address of the memory buffer to shift
+ * @param bufLen The length of the buf memory block in bytes
+ * @param numBits The number of bits to shift. Must be 0 <= numBits <= 7.
+ */
+ static void shiftRight(Uint8* buf,
+ size_t bufLen,
+ Uint8 numBits);
+
+ /** Shifts the given memory block some defined number of bits to the left.
+ * Bits that fall off the first byte are lost (i.e. no "cycled" shift).
+ * @param buf The address of the memory buffer to shift
+ * @param bufLen The length of the buf memory block in bytes
+ * @param numBits The number of bits to shift. Must be 0 <= numBits <= 7.
+ */
+ static void shiftLeft(Uint8* buf,
+ size_t bufLen,
+ Uint8 numBits);
+
+ /** Dumps a byte as binary number to a string. Only useful for
+ * debugging purposes.
+ * @param b The byte to dump
+ * @return A string containing b as a binary number
+ */
+ static OFString debugByte2Bin(Uint8 b);
+
+ /** Dumps a memory block byte for byte to the debug log stream. Only useful
+ * for debugging purposes.
+ * @param buffer The address of the memory block to dump
+ * @param length The length of memory to be dumped
+ * @param what String describing what is dumped.
+ */
+ static void debugDumpBin(Uint8* buffer,
+ size_t length,
+ const char* what);
};
#endif // SEGUTILS_H
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
../../dcmiod/include/dcmtk/dcmiod/modpatient.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../dcmdata/include/dcmtk/dcmdata/dctag.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/modbase.h \
../../ofstd/include/dcmtk/ofstd/ofmem.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
#include "dcmtk/dcmfg/fgfact.h"
#include "dcmtk/dcmfg/fgderimg.h"
-
-
// default constructor (protected, instance creation via create() function)
DcmSegmentation::DcmSegmentation()
: DcmIODImage(),
getRules()->addRule(new IODRule(DCM_LossyImageCompressionMethod, "1-n", "1C", "GeneralImageModule", DcmIODTypes::IE_IMAGE), OFTrue);
getRules()->addRule(new IODRule(DCM_LossyImageCompressionRatio, "1-n","1C", "GeneralImageModule", DcmIODTypes::IE_IMAGE), OFTrue);
+ // Override rule from General Series Module
+ getRules()->addRule(new IODRule(DCM_ReferencedPerformedProcedureStepSequence, "1","1C", "SegmentationSeriesModule", DcmIODTypes::IE_SERIES), OFTrue);
+ getRules()->addRule(new IODRule(DCM_SeriesNumber, "1","1", "SegmentationSeriesModule", DcmIODTypes::IE_SERIES), OFTrue);
+
// Instance Number is also used within Content Identification Macro, disable it there
- // TODO: Change Content Identification Macro and others to shared_ptr approach
m_ContentIdentificationMacro.getIODRules().deleteRule(DCM_InstanceNumber);
}
return result;
segmentation->m_SegmentationType = DcmSegTypes::ST_FRACTIONAL;
+ segmentation->m_SegmentationFractionalType = fractType;
segmentation->m_MaximumFractionalValue.putUint16(maxFractionalValue);
return result;
}
-OFCondition DcmSegmentation::addFrame(Uint8* pixData,
- const Uint16 segmentNumber)
+OFCondition DcmSegmentation::addFrame(Uint8* pixData)
{
OFCondition result;
}
+SOPInstanceReferenceMacro& DcmSegmentation::getReferencedPPS()
+{
+ return getSeries().getReferencedPPS();
+}
+
+
const DcmIODTypes::Frame* DcmSegmentation::getFrame(const size_t& frameNo)
{
if (frameNo > m_Frames.size() - 1)
// Insert pixel data
if (result.good())
{
- result = addFrame(pixData, segmentNumber);
+ result = addFrame(pixData);
}
// Cleanup any per-frame groups that might have been inserted and return
/* -- Setter for DICOM attributes -- */
-OFCondition DcmSegmentation::setReferencedPPS(const OFString& refSOPClassUID,
- const OFString& refSOPInstanceUID)
-{
- //TODO
- return EC_Normal;
-}
-
-
OFCondition DcmSegmentation::setEquipmentInfo(const IODGeneralEquipmentModule::EquipmentInfo& equipmentInfo,
const OFBool checkValue)
{
/* -- Getter for DICOM attributes -- */
-void DcmSegmentation::getReferencedPPS(OFString& refSOPClassUID,
- OFString& refSOPInstanceUID) const
-{
- //TODO
-}
-
-
-DcmSegment* DcmSegmentation::getSegment(const size_t& segmentNumber)
+DcmSegment* DcmSegmentation::getSegment(const unsigned int segmentNumber)
{
- if (segmentNumber > m_Segments.size())
+ // check for invalid index
+ if ( (segmentNumber == 0) || (segmentNumber > m_Segments.size()) )
{
return NULL;
}
- return m_Segments[segmentNumber];
+
+ // logical segment numbering starts with 1, so subtract 1 for vector index
+ return m_Segments[segmentNumber-1];
}
OFBool DcmSegmentation::getSegmentNumber(const DcmSegment* segment,
- Uint16& segmentNumber)
+ unsigned int& segmentNumber)
{
+ segmentNumber = 0;
size_t max = m_Segments.size();
for (size_t count = 0; count < max; count++)
{
if (m_Segments.at(count) == segment)
{
- segmentNumber = count;
+ // logical segment numbering starts with 1 but vector index with 0
+ segmentNumber = count + 1;
return OFTrue;
}
}
}
-const OFVector<Uint16> DcmSegmentation::findSegmentByLabel(const OFString& segmentLabel)
-{
- // TODO
- OFVector<Uint16> temp;
- return temp;
-}
-
-const OFVector<Uint16> DcmSegmentation::findSegmentByCategory(const CodeSequenceMacro& categoryCode)
-{
- // TODO
- OFVector<Uint16> temp;
- return temp;
-}
-
-
-const OFVector<Uint16> DcmSegmentation::findSegmentyByType(const CodeSequenceMacro& propertyType)
-{
- // TODO
- OFVector<Uint16> temp;
- return temp;
-}
-
-
-OFCondition DcmSegmentation::getModality(OFString& value, const long signed int pos) const
+OFCondition DcmSegmentation::getModality(OFString& value,
+ const long signed int pos) const
{
+ (void)pos;
// Fixed for Segmentations to value "SEG"
value = "SEG";
return EC_Normal;
}
/* Read all frames into dedicated data structure */
- size_t bitsPerFrame = getBitsPerFrame(rows, cols);
- size_t bytesPerFrame = 0;
- Uint8* src = pixels;
+ size_t pixelsPerFrame = rows * cols;
if (m_SegmentationType == DcmSegTypes::ST_BINARY)
{
- /* FIXME: Padding of last byte must be implemented if byte is not completely filled */
- if ( ((rows*cols) % 8) != 0)
- {
- DCMSEG_ERROR("TO BE DONE: Cannot write binary segmentations where pixel data bytes are not dividable by 8");
- return EC_IllegalCall;
- }
- bytesPerFrame = DcmSegUtils::getBytesForBinaryFrame(bitsPerFrame);
- for (size_t frameCount = 0; frameCount < numberOfFrames; frameCount++)
- {
- DcmIODTypes::Frame *frame = new DcmIODTypes::Frame();
- frame->length = bytesPerFrame;
- frame->pixData = new Uint8[bytesPerFrame];
- memcpy(frame->pixData, src, bytesPerFrame);
- src = src + bytesPerFrame;
- m_Frames.push_back(frame);
- }
+ extractFrames(pixels, numberOfFrames, pixelsPerFrame, m_Frames);
}
else if (m_SegmentationType == DcmSegTypes::ST_FRACTIONAL)
{
- bytesPerFrame = rows * cols;
for (size_t count = 0; count < numberOfFrames; count++)
{
DcmIODTypes::Frame *frame = new DcmIODTypes::Frame();
- frame->length = bytesPerFrame;
- frame->pixData= new Uint8[bytesPerFrame];
- memcpy(frame->pixData, pixels + count*bytesPerFrame, bytesPerFrame);
+ frame->length = pixelsPerFrame;
+ frame->pixData= new Uint8[pixelsPerFrame];
+ memcpy(frame->pixData, pixels + count* pixelsPerFrame, pixelsPerFrame);
m_Frames.push_back(frame);
}
}
- /* remove original pixel data copy from memory */
- pixelData->compact();
return result;
}
}
-OFCondition DcmSegmentation::writeFrames(DcmItem& dataset)
+OFCondition DcmSegmentation::writeFractionalFrames(DcmItem& dataset)
{
OFCondition result;
- // TODO: Consistency checks with attributes
Uint16 rows,cols;
rows = cols = 0;
getImagePixel().getRows(rows);
size_t numBytes = getTotalBytesRequired(rows, cols, m_Frames.size());
Uint8* pixdata = new Uint8[numBytes];
OFVector<DcmIODTypes::Frame*>::iterator it = m_Frames.begin();
+ // Just copy bytes for each frame as is
for (size_t count = 0; it != m_Frames.end(); count++)
{
memcpy(pixdata + count*(*it)->length, (*it)->pixData, (*it)->length);
}
+OFCondition DcmSegmentation::writeBinaryFrames(DcmItem& dataset)
+{
+ OFCondition result;
+ Uint16 rows,cols;
+ rows = cols = 0;
+ getImagePixel().getRows(rows);
+ getImagePixel().getColumns(cols);
+ size_t numBytes = getTotalBytesRequired(rows, cols, m_Frames.size());
+ // Holds the pixels for all frames. Each bit represents a pixel which is either
+ // 1 (part of segment) or 0 (not part of segment. All frames are directly
+ // concatenated, i.e. there are no unused bits between the frames.
+ Uint8* pixdata = new Uint8[numBytes];
+ memset(pixdata, 0, numBytes);
+
+ // Fill Pixel Data Element
+ concatFrames(m_Frames, pixdata, rows*cols);
+ result = dataset.putAndInsertUint8Array(DCM_PixelData, pixdata, numBytes, OFTrue);
+ delete [] pixdata;
+ return result;
+}
+
+
OFCondition DcmSegmentation::writeSegmentationImageModule(DcmItem& dataset)
{
dataset.putAndInsertOFStringArray(DCM_ImageType, "DERIVED\\PRIMARY");
}
/* Write frame pixel data */
- if (result.good()) result = writeFrames(dataset);
+ if (result.good())
+ {
+ if (m_SegmentationType == DcmSegTypes::ST_BINARY) result = writeBinaryFrames(dataset);
+ else if (m_SegmentationType == DcmSegTypes::ST_BINARY) result = writeFractionalFrames(dataset);
+ else result = SG_EC_UnknownSegmentationType;
+ }
return result;
}
// Find out how many bytes are needed
size_t bytesRequired = getTotalBytesRequired(rows, cols, numberOfFrames);
-
+ // Length found in Pixel Data element is always even
+ if (bytesRequired % 2 == 1) bytesRequired++;
/* Compare expected and actual length */
if (length < bytesRequired)
{
{
size_t bytesRequired = rows * cols * numberOfFrames;
/* for binary, we only need one bit per pixel */
+ size_t remainder = 0;
if (m_SegmentationType == DcmSegTypes::ST_BINARY)
{
// check whether the 1-bit pixels exactly fit into bytes
- size_t remainder = bytesRequired % 8;
+ remainder = (rows * cols) % 8;
// number of bytes that work on an exact fit
bytesRequired = bytesRequired / 8;
// add one byte if we have a remainder
- if (remainder > 0) bytesRequired++;
+ if (remainder > 0)
+ {
+ bytesRequired++;
+ }
+
}
return bytesRequired;
}
}
return result;
}
+
+
+void DcmSegmentation::extractFrames(Uint8* pixData,
+ const size_t numFrames,
+ const size_t bitsPerFrame,
+ OFVector< DcmIODTypes::Frame* >& results)
+{
+ // Will hold the bit position (0-7) that the current frame starts from. The
+ // first frame will always start at bit 0.
+ Uint8 bitShift = 0;
+ // Compute length in bytes we need to consider for each frame.
+ size_t frameLengthBytes = bitsPerFrame / 8;
+ // If the number of bits is not dividable by 8, we need part of an extra
+ // byte in the end. Since we like to set the unused bits to 0 in such a last
+ // byte to 0, remember the number.
+ size_t overlapBits = (8 - (bitsPerFrame % 8)) % 8;
+ // Add an extra byte if we we fill a partial byte in the end
+ if (overlapBits != 0) frameLengthBytes++;
+ // Points to current reading position within pixeldata
+ Uint8* readPos = pixData;
+ // Loop over each frame and copy it to Frame structures
+ for (size_t f = 0; f < numFrames; f++)
+ {
+ // Create frame with correct length and copy 1:1 from pixel data
+ DcmIODTypes::Frame* frame = new DcmIODTypes::Frame();
+ frame->length = frameLengthBytes;
+ frame->pixData = new Uint8[frameLengthBytes];
+ memcpy(frame->pixData, readPos, frame->length);
+ // If we have been copying too much, i.e the first bits of the frame
+ // actually belong to the former frame, shift the whole frame this amount
+ // of bits to the left in order to shift the superfluous bits out
+ if (bitShift > 0)
+ {
+ DcmSegUtils::shiftLeft(frame->pixData, frame->length, 8-bitShift);
+ }
+ // Adapt last byte by masking out unused bits (i.e. those belonging to next frame).
+ // A reader should ignore those unused bits anyway.
+ frame->pixData[frame->length-1] = (frame->pixData[frame->length-1] >> (overlapBits)) << (overlapBits);
+ // Store frame
+ results.push_back(frame);
+ // Compute the bitshift created by this frame
+ bitShift = ( 8- ((f+1) * bitsPerFrame) % 8 ) % 8;
+ // If the last byte read has not been used completely, i.e. it contains
+ // also bytes of the next frame, rewind read position to the last byte
+ // that was partially read. Otherwise skip to the next full byte.
+ if (bitShift > 0)
+ {
+ readPos = readPos + frame->length - 1;
+ }
+ else
+ {
+ readPos = readPos + frame->length;
+ }
+ }
+}
+
+
+void DcmSegmentation::concatFrames(OFVector< DcmIODTypes::Frame* > frames,
+ Uint8* pixData,
+ const size_t bitsPerFrame)
+{
+ // Writing position within the pixData memory
+ Uint8 *writePos = pixData;
+ OFVector<DcmIODTypes::Frame*>::iterator frame = frames.begin();
+ Uint8 freeBits = 0;
+ Uint8 firstByte = 0;
+ // Iterate over frames and copy each to pixdata memory
+ for (size_t f = 0; frame != frames.end(); f++)
+ {
+ DCMSEG_DEBUG("Packing segmentation frame #" << f+1 << "/" << frames.size());
+ // Backup first byte of the destination since it may contain bits of the
+ // last frame; mask out those bits not belonging to last frame.
+ firstByte = (writePos[0] >> freeBits) << freeBits;
+ memcpy(writePos, (*frame)->pixData, (*frame)->length);
+ // If the last frame left over some unused bits, shift the current frame
+ // that number of bits to the right and restore the original bits of the
+ // last frame
+ if (freeBits > 0)
+ {
+ DcmSegUtils::shiftRight(writePos, (*frame)->length, 8-freeBits);
+ writePos[0] |= firstByte;
+ }
+ // Compute free bits left over from this frame in the last byte written
+ freeBits = (8 - (( (f+1) * bitsPerFrame ) % 8)) % 8;
+ // If we have free bits, the last byte written to will be the first byte
+ // we write to for the next frame. Otherwise start with a fresh destination
+ // byte.
+ if (freeBits > 0)
+ {
+ writePos = writePos + (*frame)->length - 1;
+ }
+ else
+ {
+ writePos = writePos + (*frame)->length;
+ }
+ // Next frame
+ frame++;
+ }
+ // Through shifting we can have non-zero bits within the unused bits of the
+ // last byte. Fill them with zeroes (though not required by the standard).
+ if (freeBits > 0)
+ {
+ *writePos = (*writePos >> freeBits) << freeBits;
+ }
+}
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
DcmIODUtil::getAndCheckElementFromDataset(item, m_RecommendedDisplayGrayscaleValue, m_Rules.getByTag(DCM_RecommendedDisplayGrayscaleValue));
DcmIODUtil::getAndCheckElementFromDataset(item, m_RecommendedDisplayCIELabValue, m_Rules.getByTag(DCM_RecommendedDisplayCIELabValue));
+ DcmIODUtil::getAndCheckElementFromDataset(item, m_TrackingID, m_Rules.getByTag(DCM_TrackingID));
+ DcmIODUtil::getAndCheckElementFromDataset(item, m_TrackingUID, m_Rules.getByTag(DCM_TrackingUID));
return EC_Normal;
}
DcmIODUtil::copyElementToDataset(result, item, m_RecommendedDisplayGrayscaleValue, m_Rules.getByTag(DCM_RecommendedDisplayGrayscaleValue));
DcmIODUtil::copyElementToDataset(result, item, m_RecommendedDisplayCIELabValue, m_Rules.getByTag(DCM_RecommendedDisplayCIELabValue));
+ DcmIODUtil::copyElementToDataset(result, item, m_TrackingID, m_Rules.getByTag(DCM_TrackingID));
+ DcmIODUtil::copyElementToDataset(result, item, m_TrackingUID, m_Rules.getByTag(DCM_TrackingUID));
return result;
}
m_SegmentSurfaceGenerationAlgorithmIdentification.clearData();
m_RecommendedDisplayGrayscaleValue.clear();
m_RecommendedDisplayCIELabValue.clear();
+ m_TrackingID.clear();
+ m_TrackingUID.clear();
}
}
-// protected default contstrucotr
+// protected default constructor
DcmSegment::DcmSegment() :
m_SegmentationDoc(NULL),
m_SegmentDescription(),
m_SegmentSurfaceGenerationAlgorithmIdentification(),
m_RecommendedDisplayGrayscaleValue(DCM_RecommendedDisplayGrayscaleValue),
m_RecommendedDisplayCIELabValue(DCM_RecommendedDisplayCIELabValue),
+ m_TrackingID(DCM_TrackingID),
+ m_TrackingUID(DCM_TrackingUID),
m_Rules()
{
initIODRules();
m_Rules.addRule(new IODRule(DCM_SegmentAlgorithmName, "1","1C","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue);
m_Rules.addRule(new IODRule(DCM_RecommendedDisplayGrayscaleValue, "1","3","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue);
m_Rules.addRule(new IODRule(DCM_RecommendedDisplayCIELabValue, "3","3","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue);
+ m_Rules.addRule(new IODRule(DCM_TrackingID, "1","1C","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue);
+ m_Rules.addRule(new IODRule(DCM_TrackingUID, "1","1C","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue);
}
// -------------- getters --------------------
-Uint16 DcmSegment::getSegmentNumber()
+unsigned int DcmSegment::getSegmentNumber()
{
- Uint16 value = 0;
+ unsigned int value = 0;
if (m_SegmentationDoc != NULL)
{
m_SegmentationDoc->getSegmentNumber(this, value);
OFCondition DcmSegment::getRecommendedDisplayGrayscaleValue(Uint16& value,
const unsigned long pos)
{
- return m_RecommendedDisplayGrayscaleValue.getUint16(value, 0);
+ return m_RecommendedDisplayGrayscaleValue.getUint16(value, pos);
}
return result;
}
+
+OFCondition DcmSegment::getTrackingID(OFString& value,
+ const signed long pos)
+{
+ return DcmIODUtil::getStringValueFromElement(m_TrackingID, value, pos);
+}
+
+
+OFCondition DcmSegment::getTrackingUID(OFString& value,
+ const signed long pos)
+{
+ return DcmIODUtil::getStringValueFromElement(m_TrackingUID, value, pos);
+}
+
+
// -------------- setters --------------------
}
+OFCondition DcmSegment::setTrackingID(const OFString& value,
+ const OFBool checkValue)
+{
+ // avoid compile warning on unused variable
+ (void)checkValue;
+ return m_TrackingID.putOFStringArray(value);
+}
+
+
+OFCondition DcmSegment::setTrackingUID(const OFString& value,
+ const OFBool checkValue)
+{
+ OFCondition result;
+ if (checkValue)
+ {
+ result = DcmUniqueIdentifier::checkStringValue(value, "1");
+ }
+ if (result.good())
+ {
+ result = m_TrackingUID.putOFStringArray(value);
+ }
+ return result;
+}
+
void DcmSegment::referenceSegmentationDoc(DcmSegmentation* doc)
{
/*
*
- * Copyright (C) 2015, Open Connections GmbH
+ * Copyright (C) 2016, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
*---------------------------------*/
// conditions
-makeOFConditionConst(SG_EC_MaxSegmentsReached, OFM_dcmseg, 1, OF_error, "Maximum Number of Functional Groups reached");
-makeOFConditionConst(SG_EC_NoSuchSegment, OFM_dcmseg, 2, OF_error, "No such segment");
-makeOFConditionConst(SG_EC_InvalidValue, OFM_dcmseg, 4, OF_error, "Invalid value for Segmentation SOP Class");
+makeOFConditionConst(SG_EC_MaxSegmentsReached, OFM_dcmseg, 1, OF_error, "Maximum Number of Functional Groups reached");
+makeOFConditionConst(SG_EC_NoSuchSegment, OFM_dcmseg, 2, OF_error, "No such segment");
+makeOFConditionConst(SG_EC_UnknownSegmentationType, OFM_dcmseg, 3, OF_error, "Unknown Segmentation Type");
+makeOFConditionConst(SG_EC_InvalidValue, OFM_dcmseg, 4, OF_error, "Invalid value for Segmentation SOP Class");
+makeOFConditionConst(SG_EC_NotEnoughData, OFM_dcmseg, 5, OF_error, "Not enough data");
+
DcmSegTypes::E_SegmentationType DcmSegTypes::OFString2Segtype(const OFString& value)
{
OFCondition SegmentDescriptionMacro::setSegmentDescription(const OFString& value,
const OFBool checkValue)
{
- OFCondition result = (checkValue) ? DcmShortText::checkStringValue(value, "1") : EC_Normal;
- if (result.good())
- result = m_SegmentDescription.putOFStringArray(value);
- return result;
+ (void)checkValue;
+ return m_SegmentDescription.putOFStringArray(value);
}
delete frame;
return NULL;
}
- memset(frame->pixData, 0, sizeof(Uint8)*frame->length);
+ memset(frame->pixData, 0, frame->length);
size_t bytePos = 0;
for (size_t count = 0; count < numPixels; count++)
DcmIODTypes::Frame* DcmSegUtils::unpackBinaryFrame(const DcmIODTypes::Frame* frame,
- const Uint16 rows,
- const Uint16 cols)
+ Uint16 rows,
+ Uint16 cols)
{
// Sanity checking
- if ( (frame->length == 0) || (frame->pixData == NULL) || (rows == 0) || (cols == 0))
+ if ( (frame == NULL) || (rows == 0) || (cols == 0) )
{
- DCMSEG_ERROR("Cannot unpack binary frame, invalid input data: frame length and data, as well as rows and columnst cannot be 0");
- return NULL;
- }
- const Uint32 numPixels = rows*cols;
- if ( getBytesForBinaryFrame(numPixels) > frame->length)
- {
- DCMSEG_ERROR("Cannot unpack binary frame, not enough input data (require " << numPixels / 8 << " but only got " << frame->length << " bytes)");
+ DCMSEG_ERROR("Cannot unpack binary frame, invalid input data");
return NULL;
}
// Create result frame in memory
+ size_t numBits = rows * cols;
DcmIODTypes::Frame* result = new DcmIODTypes::Frame();
if (result)
{
- result->pixData = new Uint8[numPixels];
- result->length = numPixels;
+ result->pixData = new Uint8[numBits];
+ result->length = numBits;
}
if ( !result || !(result->pixData) )
{
DCMSEG_ERROR("Cannot unpack binary frame, memory exhausted");
return NULL;
}
- memset(result->pixData, 0, sizeof(Uint8)*result->length);
+ memset(result->pixData, 0, result->length);
// Transform and copy from packed frame to unpacked result frame
size_t bytePos = 0;
- for (size_t count = 0; count < numPixels; count++)
+ for (size_t count = 0; count < numBits; count++)
{
// Compute byte position
bytePos = count / 8;
if (remainder > 0) bytesRequired++;
return bytesRequired;
}
+
+
+void DcmSegUtils::shiftRight(Uint8* buf,
+ size_t bufLen,
+ Uint8 numBits)
+{
+ if (numBits > 7)
+ {
+ DCMSEG_ERROR("Invalid input data: shiftRight() can only shift 0-7 bits");
+ return;
+ }
+ Uint8 carryOver = 0;
+ for (size_t x = 0; x < bufLen; x++)
+ {
+ // Store current byte since we need its last bits
+ Uint8 current = buf[x];
+ buf[x] >>= numBits;
+ // If there is a carry over from the last handled byte, add it
+ buf[x] |= carryOver;
+ // Compute carry over bits for next byte handled
+ carryOver = current << (8-numBits); // bits we need to shift over to start (left hand side) of buf[x+1]
+ }
+}
+
+
+void DcmSegUtils::shiftLeft(Uint8* buf,
+ size_t bufLen,
+ Uint8 numBits)
+{
+ if (numBits > 7)
+ {
+ DCMSEG_ERROR("Invalid input data: shiftLeft() can only shift 0-7 bits");
+ return;
+ }
+ for (size_t x = 0; x < bufLen-1; x++)
+ {
+ // Shift current byte
+ buf[x] = buf[x] << numBits;
+ // isolate portion of next byte that must be shifted into current byte
+ Uint8 next = (buf[x+1] >> (8-numBits));
+ // Shift current byte
+ buf[x] |= next;
+ }
+ // Shift last byte manually
+ buf[bufLen-1] <<= numBits;
+}
+
+
+void DcmSegUtils::debugDumpBin(Uint8* buffer,
+ size_t length,
+ const char* what)
+{
+ for (size_t n=0; n<length; n++)
+ {
+ DCMSEG_DEBUG(what << " #" << n << ": " << (size_t)(buffer[n]) << ", bytepos " << (size_t)(&(buffer[n])) << " (" << debugByte2Bin((buffer[n])) << ")");
+ }
+ DCMSEG_DEBUG("");
+}
+
+
+OFString DcmSegUtils::debugByte2Bin(Uint8 b)
+{
+ OFString result("",8);
+ for (int i = 7; i >= 0; i--)
+ {
+ result[i]= (b & 1) + '0';
+
+ b >>= 1;
+ }
+ return result;
+}
--- /dev/null
+# declare executables
+DCMTK_ADD_EXECUTABLE(dcmseg_tests tests tutils)
+
+# make sure executables are linked to the corresponding libraries
+DCMTK_TARGET_LINK_MODULES(dcmseg_tests dcmseg dcmfg dcmiod dcmdata oflog ofstd)
+
+# This macro parses tests.cc and registers all tests
+DCMTK_ADD_TESTS(dcmseg)
--- /dev/null
+tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/oftest.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h
+tutils.o: tutils.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../../ofstd/include/dcmtk/ofstd/oftest.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../include/dcmtk/dcmseg/segutils.h ../include/dcmtk/dcmseg/segdef.h \
+ ../include/dcmtk/dcmseg/segtypes.h \
+ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \
+ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \
+ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \
+ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h
@SET_MAKE@
SHELL = /bin/sh
+VPATH = @srcdir@:@top_srcdir@/include:@top_srcdir@/@configdir@/include
srcdir = @srcdir@
top_srcdir = @top_srcdir@
configdir = @top_srcdir@/@configdir@
+ofstddir = $(top_srcdir)/../ofstd
+oflogdir = $(top_srcdir)/../oflog
+dcmdatadir = $(top_srcdir)/../dcmdata
+dcmioddir = $(top_srcdir)/../dcmiod
+dcmfgdir = $(top_srcdir)/../dcmfg
+
+
include $(configdir)/@common_makefile@
+LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \
+ -L$(dcmdatadir)/libsrc -L$(dcmioddir)/libsrc -L$(dcmfgdir)/libsrc
+LOCALLIBS = -ldcmseg -ldcmfg -ldcmiod -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(ICONVLIBS)
+LOCALINCLUDES = -I$(top_srcdir)/include -I$(ofstddir)/include -I$(oflogdir)/include \
+ -I$(dcmdatadir)/include -I$(dcmioddir)/include -I$(dcmfgdir)/include \
+
+
+test_objs = tests.o tutils.o
+objs = $(test_objs)
+progs = tests
+
+
+all: $(progs)
-all:
+tests: $(test_objs)
+ $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(ICONVLIBS) $(LIBS)
-check:
-check-exhaustive:
+check: tests
+ ./tests
+
+check-exhaustive: tests
+ ./tests -x
+
+
+install: all
-install:
clean:
- rm -f $(TRASH)
+ rm -f $(objs) $(progs) $(LOCALTRASH) $(TRASH)
distclean:
- rm -f $(DISTTRASH)
+ rm -f $(objs) $(progs) $(LOCALTRASH) $(DISTTRASH)
+
dependencies:
+ $(CXX) -MM $(defines) $(includes) $(CPPFLAGS) $(CXXFLAGS) *.cc > $(DEP)
+
+include $(DEP)
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmseg
+ *
+ * Author: Michael Onken
+ *
+ * Purpose: main test program
+ *
+ */
+
+#include "dcmtk/config/osconfig.h"
+#include "dcmtk/ofstd/oftest.h"
+
+OFTEST_REGISTER(dcmseg_utils);
+OFTEST_MAIN("dcmseg")
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmseg
+ *
+ * Author: Michael Onken
+ *
+ * Purpose: tests for dcmseg's DcmSegUtils functionalities
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/dcmseg/segutils.h"
+
+OFTEST(dcmseg_utils)
+{
+ // buf = 10101010 11001100 11110000 00001111
+ Uint8 buf[4];
+ buf[0] = 0xAA; // 10101010
+ buf[1] = 0xCC; // 11001100
+ buf[2] = 0xF0; // 11110000
+ buf[3] = 0x0F; // 00001111
+
+ // Shift and check, should be 00101010 10110011 00111000 00000011
+ DcmSegUtils::shiftRight(buf, 4, 2);
+ OFCHECK(buf[0] == 0x2A); // 00101010 = 42 = 0x2A
+ OFCHECK(buf[1] == 0xB3); // 10110011 = 179 = 0xB3
+ OFCHECK(buf[2] == 0x3C); // 00111100 = 60 = 0x3C
+ OFCHECK(buf[3] == 0x03); // 00000011 = 0 = 0x03
+
+ // Shift and check, should be 10101010 11001100 11110000 00001100
+ DcmSegUtils::shiftLeft(buf, 4, 2);
+ OFCHECK(buf[0] == 0xAA); // 10101010
+ OFCHECK(buf[1] == 0xCC); // 11001100
+ OFCHECK(buf[2] == 0xF0); // 11110000
+ OFCHECK(buf[3] == 0x0C); // 00001100
+
+ // Shift and check, should be 00000001 01010101 10011001 11100000
+ DcmSegUtils::shiftRight(buf, 4, 7);
+ OFCHECK(buf[0] == 0x01); // 00000001
+ OFCHECK(buf[1] == 0x55); // 01010101
+ OFCHECK(buf[2] == 0x99); // 10011001
+ OFCHECK(buf[3] == 0xE0); // 11100000
+
+ // Shift and check, should be 10101010 11001100 11110000 00000000
+ DcmSegUtils::shiftLeft(buf, 4, 7);
+ OFCHECK(buf[0] == 0xAA); // 10101010
+ OFCHECK(buf[1] == 0xCC); // 11001100
+ OFCHECK(buf[2] == 0xF0); // 11110000
+ OFCHECK(buf[3] == 0x00); // 00000000
+
+}
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmsign/dcsignat.h ../include/dcmtk/dcmsign/sitypes.h \
../include/dcmtk/dcmsign/sidefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
- ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../ofstd/include/dcmtk/ofstd/ofchrenc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../../dcmdata/include/dcmtk/dcmdata/dcostrmz.h
/*
*
- * Copyright (C) 2000-2014, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFLOG_FATAL(dsr2htmlLogger, result.text() << ": converting file to UTF-8: " << ifname);
}
}
+#else
+ // avoid compiler warning on unused variable
+ (void)convertToUTF8;
#endif
if (result.good())
{
OFLOG_DEBUG(dsr2htmlLogger, "use option --charset-assume to manually specify an appropriate character set");
result = EC_IllegalCall;
} else {
- OFString charsetStr(defaultCharset);
// use the default character set specified by the user
- if (charsetStr == "ISO_IR 192")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_UTF8);
- else if (charsetStr == "ISO_IR 100")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin1);
- else if (charsetStr == "ISO_IR 101")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin2);
- else if (charsetStr == "ISO_IR 109")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin3);
- else if (charsetStr == "ISO_IR 110")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin4);
- else if (charsetStr == "ISO_IR 148")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin5);
- else if (charsetStr == "ISO_IR 144")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Cyrillic);
- else if (charsetStr == "ISO_IR 127")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Arabic);
- else if (charsetStr == "ISO_IR 126")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Greek);
- else if (charsetStr == "ISO_IR 138")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Hebrew);
- else {
+ result = dsrdoc->setSpecificCharacterSet(defaultCharset);
+ if (dsrdoc->getSpecificCharacterSetType() == DSRTypes::CS_unknown)
+ {
OFLOG_FATAL(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": Character set '"
<< defaultCharset << "' specified with option --charset-assume not supported");
result = EC_IllegalCall;
}
+ else if (result.bad())
+ {
+ OFLOG_FATAL(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": Cannot use character set '"
+ << defaultCharset << "' specified with option --charset-assume: " << result.text());
+ }
}
}
if (result.good())
cmd.addOption("--charset-require", "+Cr", "require declaration of ext. charset (default)");
cmd.addOption("--charset-assume", "+Ca", 1, "[c]harset: string",
"assume charset c if no extended charset declared");
- cmd.addOption("--charset-check-all", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST and UT)");
+ cmd.addOption("--charset-check-all", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST, UC and UT)");
#ifdef WITH_LIBICONV
cmd.addOption("--convert-to-utf8", "+U8", "convert all element values that are affected\nby Specific Character Set (0008,0005) to UTF-8");
#endif
OFLOG_DEBUG(dsr2xmlLogger, "use option --charset-assume to manually specify an appropriate character set");
result = EC_IllegalCall;
} else {
- OFString charsetStr(defaultCharset);
// use the default character set specified by the user
- if (charsetStr == "ISO_IR 192")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_UTF8);
- else if (charsetStr == "ISO_IR 100")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin1);
- else if (charsetStr == "ISO_IR 101")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin2);
- else if (charsetStr == "ISO_IR 109")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin3);
- else if (charsetStr == "ISO_IR 110")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin4);
- else if (charsetStr == "ISO_IR 148")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin5);
- else if (charsetStr == "ISO_IR 144")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Cyrillic);
- else if (charsetStr == "ISO_IR 127")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Arabic);
- else if (charsetStr == "ISO_IR 126")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Greek);
- else if (charsetStr == "ISO_IR 138")
- dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Hebrew);
- else {
+ result = dsrdoc->setSpecificCharacterSet(defaultCharset);
+ if (dsrdoc->getSpecificCharacterSetType() == DSRTypes::CS_unknown)
+ {
OFLOG_FATAL(dsr2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": Character set '"
<< defaultCharset << "' specified with option --charset-assume not supported");
result = EC_IllegalCall;
}
+ else if (result.bad())
+ {
+ OFLOG_FATAL(dsr2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": Cannot use character set '"
+ << defaultCharset << "' specified with option --charset-assume: " << result.text());
+ }
}
}
if (result.good())
cmd.addOption("--charset-require", "+Cr", "require declaration of ext. charset (default)");
cmd.addOption("--charset-assume", "+Ca", 1, "[c]harset: string",
"assume charset c if no extended charset declared");
- cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST and UT)");
+ cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST, UC and UT)");
#ifdef WITH_LIBICONV
cmd.addOption("--convert-to-utf8", "+U8", "convert all element values that are affected\nby Specific Character Set (0008,0005) to UTF-8");
#endif
app.checkConflict("--add-schema-reference", "--template-envelope", (opt_writeFlags & DSRTypes::XF_templateElementEnclosesItems) > 0);
app.checkConflict("--add-schema-reference", "--write-empty-tags", (opt_writeFlags & DSRTypes::XF_writeEmptyTags) > 0);
}
+ if (opt_writeFlags & DSRTypes::XF_templateIdentifierAsAttribute)
+ app.checkDependence("--attr-template-id", "--write-template-id", (opt_writeFlags & DSRTypes::XF_writeTemplateIdentification) > 0);
if (opt_writeFlags & DSRTypes::XF_templateElementEnclosesItems)
app.checkDependence("--template-envelope", "--write-template-id", (opt_writeFlags & DSRTypes::XF_writeTemplateIdentification) > 0);
}
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
}
}
+#else
+ // avoid compiler warning on unused variable
+ (void)convertToUTF8;
#endif
if (result.good())
{
/*!
-\page mod_dcmsr dcmsr: a structured report library and utility apps
+\page mod_dcmsr dcmsr: a structured reporting library and utility apps
This module contains classes to read, write, create, modify, access, print and
-render DICOM Structured Reporting documents (formerly Supplement 23). The list
-of supported SOP classes is provided in DSRTypes::E_DocumentType.
+render DICOM Structured Reporting (SR) documents. The list of supported SOP
+classes is provided in DSRTypes::E_DocumentType.
The main interface classes are:
\li \b DSRDocument
\li \b DSRRootTemplate
\li \b DSRSubTemplate
+Currently, the following SR templates are implemented (see notes for details):
+\li \b TID1001_ObservationContext
+\li \b TID1204_LanguageOfContentItemAndDescendants
+\li \b TID1411_VolumetricROIMeasurements
+\li \b TID1500_MeasurementReport
+\li \b TID1600_ImageLibrary
+
\section Tools
This module contains the following command line tools:
\endcode
The following example shows how to create a DICOM Structured Report and save
-it to a file (see \ref src_mkreport "mkreport" source file for details):
+it to a file (further details can be found in the \ref src_mkreport "mkreport"
+source file):
\code
DSRDocument document;
/* ... */
document.getTree().addContentItem(DSRTypes::RT_isRoot, DSRTypes::VT_Container);
document.getTree().getCurrentContentItem().setConceptName(DSRCodedEntryValue(/* some code */));
-document.getTree().addContentItem(DSRTypes::RT_hasObsContext, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent);
+document.getTree().addChildContentItem(DSRTypes::RT_hasObsContext, DSRTypes::VT_Code, CODE_DCM_ObserverType);
/* ... */
DcmFileFormat fileformat;
OFCondition status = document.write(*fileformat.getDataset())
modified directly as the following example shows:
\code
-DSRDocument document(DSRTypes::DT_KeyObjectDoc);
+DSRDocument document(DSRTypes::DT_KeyObjectSelectionDocument);
/* ... */
document.getTree().addContentItem(DSRTypes::RT_isRoot, DSRTypes::VT_Container);
DSRCodedEntryValue *codePtr = document.getTree().getCurrentContentItem().getConceptNamePtr();
/* ... */
\endcode
+In addition, there are specific DSRDocumentTree::addContentItem() and
+DSRDocumentTree::addChildContentItem() methods that expect a pointer to a newly
+created DSRDocumentTreeNode instance.
+
+The final example shows how to deal with SR templates, e.g. when creating a
+DICOM Structured Report that is based on TID 1500 (Measurement Report):
+
+\code
+TID1500_MeasurementReport report(CMR_CID7021::ImagingMeasurementReport);
+report.setLanguage(CID5000_Languages::English);
+report.getObservationContext().addPersonObserver("Doe^Jane", "Some Organization");
+/* ... */
+TID1500_MeasurementReport::TID1411_Measurements &measurements = report.getVolumetricROIMeasurements();
+measurements.setActivitySession("1");
+measurements.setTrackingIdentifier("aorta reference region");
+/* ... */
+DSRDocument document;
+document.setPatientName("Last Name^First Name");
+/* ... */
+if (document.setTreeFromRootTemplate(report).good())
+ document.print(cout, DSRTypes::PF_printTemplateIdentification);
+else
+ cerr << "Error: cannot set template content as document tree" << endl;
+\endcode
+
*/
/*!
--charset-check-all
check all data elements with string values
- (default: only PN, LO, LT, SH, ST and UT)
+ (default: only PN, LO, LT, SH, ST, UC and UT)
# this option is only used for the mapping to an appropriate
# HTML/XHTML character encoding, but not for the conversion
(0008,0005) "Specific Character Set" using the following mapping:
\verbatim
-ASCII (ISO_IR 6) => (none)
-UTF-8 "ISO_IR 192" => "UTF-8"
-ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
-ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
-ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
-ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
-ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
-Cyrillic "ISO_IR 144" => "ISO-8859-5"
-Arabic "ISO_IR 127" => "ISO-8859-6"
-Greek "ISO_IR 126" => "ISO-8859-7"
-Hebrew "ISO_IR 138" => "ISO-8859-8"
+ASCII (ISO_IR 6) => (none)
+UTF-8 "ISO_IR 192" => "UTF-8"
+ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
+ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
+ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
+ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
+ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
+Cyrillic "ISO_IR 144" => "ISO-8859-5"
+Arabic "ISO_IR 127" => "ISO-8859-6"
+Greek "ISO_IR 126" => "ISO-8859-7"
+Hebrew "ISO_IR 138" => "ISO-8859-8"
+Thai "ISO_IR 166" => "TIS-620"
+Japanese "ISO 2022 IR 13\ISO 2022 IR 87" => "ISO-2022-JP"
+Korean "ISO 2022 IR 6\ISO 2022 IR 149" => "ISO-2022-KR"
+Chinese "ISO 2022 IR 6\ISO 2022 IR 58" => "ISO-2022-CN"
+Chinese "GB18030" => "GB18030"
+Chinese "GBK" => "GBK"
\endverbatim
If this DICOM attribute is missing in the input file, although needed, option
\e --charset-assume can be used to specify an appropriate character set
-manually (using one of the DICOM defined terms).
+manually (using one of the DICOM defined terms). For reasons of backward
+compatibility with previous versions of this tool, the following terms are also
+supported and mapped automatically to the associated DICOM defined terms:
+latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew.
-Multiple character sets are not supported (only the first attribute value is
-mapped in case of value multiplicity). If needed, option \e --convert-to-utf8
-can be used to convert the DICOM file or data set to UTF-8 encoding prior to
-the rendering to HTML/XHTML format.
+Option \e --convert-to-utf8 can be used to convert the DICOM file or data set
+to UTF-8 encoding prior to the rendering to HTML/XHTML format.
\section logging LOGGING
\section copyright COPYRIGHT
-Copyright (C) 2000-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 2000-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
+Cc --charset-check-all
check all data elements with string values
- (default: only PN, LO, LT, SH, ST and UT)
+ (default: only PN, LO, LT, SH, ST, UC and UT)
# this option is only used for the mapping to an appropriate
# XML character encoding, but not for the conversion to UTF-8
(0008,0005) "Specific Character Set" using the following mapping:
\verbatim
-ASCII (ISO_IR 6) => "UTF-8"
-UTF-8 "ISO_IR 192" => "UTF-8"
-ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
-ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
-ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
-ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
-ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
-Cyrillic "ISO_IR 144" => "ISO-8859-5"
-Arabic "ISO_IR 127" => "ISO-8859-6"
-Greek "ISO_IR 126" => "ISO-8859-7"
-Hebrew "ISO_IR 138" => "ISO-8859-8"
+ASCII (ISO_IR 6) => "UTF-8"
+UTF-8 "ISO_IR 192" => "UTF-8"
+ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
+ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
+ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
+ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
+ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
+Cyrillic "ISO_IR 144" => "ISO-8859-5"
+Arabic "ISO_IR 127" => "ISO-8859-6"
+Greek "ISO_IR 126" => "ISO-8859-7"
+Hebrew "ISO_IR 138" => "ISO-8859-8"
+Thai "ISO_IR 166" => "TIS-620"
+Japanese "ISO 2022 IR 13\ISO 2022 IR 87" => "ISO-2022-JP"
+Korean "ISO 2022 IR 6\ISO 2022 IR 149" => "ISO-2022-KR"
+Chinese "ISO 2022 IR 6\ISO 2022 IR 58" => "ISO-2022-CN"
+Chinese "GB18030" => "GB18030"
+Chinese "GBK" => "GBK"
\endverbatim
If this DICOM attribute is missing in the input file, although needed, option
\e --charset-assume can be used to specify an appropriate character set
-manually (using one of the DICOM defined terms).
+manually (using one of the DICOM defined terms). For reasons of backward
+compatibility with previous versions of this tool, the following terms are also
+supported and mapped automatically to the associated DICOM defined terms:
+latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew.
-Multiple character sets are not supported (only the first attribute value is
-mapped in case of value multiplicity). If needed, option \e --convert-to-utf8
-can be used to convert the DICOM file or data set to UTF-8 encoding prior to
-the conversion to XML format.
+Option \e --convert-to-utf8 can be used to convert the DICOM file or data set
+to UTF-8 encoding prior to the conversion to XML format.
\subsection error_handling Error Handling
\section copyright COPYRIGHT
-Copyright (C) 2000-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 2000-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
Arabic "ISO_IR 127" (ISO-8859-6)
Greek "ISO_IR 126" (ISO-8859-7)
Hebrew "ISO_IR 138" (ISO-8859-8)
+Thai "ISO_IR 166" (TIS-620)
+Japanese "ISO 2022 IR 13\ISO 2022 IR 87" (ISO-2022-JP)
+Korean "ISO 2022 IR 6\ISO 2022 IR 149" (ISO-2022-KR)
+Chinese "ISO 2022 IR 6\ISO 2022 IR 58" (ISO-2022-CN)
+Chinese "GB18030" (GB18030)
+Chinese "GBK" (GBK)
\endverbatim
-Multiple character sets are not supported (only the first value of the
-"Specific Character Set" is used for the character encoding in case of value
-multiplicity).
-
\subsection compression Compression
If libxml is compiled with zlib support, the input file (\e xmlfile-in) can
\section copyright COPYRIGHT
-Copyright (C) 2003-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
+Copyright (C) 2003-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID100_QuantitativeDiagnosticImagingProcedures
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-26 19:54:59 by J. Riesmeier
+ * File created on 2016-01-16 12:26:31 by J. Riesmeier
*
*/
/// (RPID5258,RADLEX,"NM HEAD PERFUSION BRAIN SPECT")
NM_HEAD_PERFUSION_BRAIN_SPECT,
/// (RPID5427,RADLEX,"NM HEAD PERFUSION BRAIN PET-CT AV-45")
- NM_HEAD_PERFUSION_BRAIN_PET_CT_AV_45
+ NM_HEAD_PERFUSION_BRAIN_PET_CT_AV45
};
/** (default) constructor
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID100_QuantitativeDiagnosticImagingProcedures CMR_CID100;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID10013_CTAcquisitionType
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:27 by J. Riesmeier
+ * File created on 2016-01-16 12:26:55 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID10013_CTAcquisitionType CMR_CID10013;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID10013e_CTAcquisitionType
using CID10013_CTAcquisitionType::selectValue;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID10013e_CTAcquisitionType CMR_CID10013e;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID10033_CTReconstructionAlgorithm
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:29 by J. Riesmeier
+ * File created on 2016-01-16 12:26:57 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID10033_CTReconstructionAlgorithm CMR_CID10033;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID10033e_CTReconstructionAlgorithm
using CID10033_CTReconstructionAlgorithm::selectValue;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID10033e_CTReconstructionAlgorithm CMR_CID10033e;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID11_RouteOfAdministration
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:11 by J. Riesmeier
+ * File created on 2016-01-16 12:26:26 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID11_RouteOfAdministration CMR_CID11;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID244_Laterality
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:16 by J. Riesmeier
+ * File created on 2016-01-16 12:26:33 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID244_Laterality CMR_CID244;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID244e_Laterality
using CID244_Laterality::selectValue;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID244e_Laterality CMR_CID244e;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID29_AcquisitionModality
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:13 by J. Riesmeier
+ * File created on 2016-01-16 12:26:28 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID29_AcquisitionModality CMR_CID29;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID29e_AcquisitionModality
using CID29_AcquisitionModality::selectValue;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID29e_AcquisitionModality CMR_CID29e;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID4020_PETRadionuclide
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:18 by J. Riesmeier
+ * File created on 2016-01-16 12:26:35 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID4020_PETRadionuclide CMR_CID4020;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID4021_PETRadiopharmaceutical
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:19 by J. Riesmeier
+ * File created on 2016-01-16 12:26:36 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID4021_PETRadiopharmaceutical CMR_CID4021;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID4031_CommonAnatomicRegions
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:21 by J. Riesmeier
+ * File created on 2016-01-16 12:26:38 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID4031_CommonAnatomicRegions CMR_CID4031;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID4031_CommonAnatomicRegions_Enhanced
using CID4031_CommonAnatomicRegions::selectValue;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID4031e_CommonAnatomicRegions CMR_CID4031e;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID42_NumericValueQualifier
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:14 by J. Riesmeier
+ * File created on 2016-01-16 12:26:30 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID42_NumericValueQualifier CMR_CID42;
+
+
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class CID6147_ResponseCriteria
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-16 12:26:40 by J. Riesmeier
+ *
+ */
+
+
+#ifndef CMR_CID6147_H
+#define CMR_CID6147_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrctxgr.h"
+#include "dcmtk/dcmsr/cmr/define.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Implementation of DCMR Context Group:
+ * CID 6147 - Response Criteria.
+ * (type: extensible, version: 20141110)
+ */
+class DCMTK_CMR_EXPORT CID6147_ResponseCriteria
+ : public DSRContextGroup
+{
+
+ public:
+
+ /** types of response criteria
+ */
+ enum EnumType
+ {
+ /// (112029,DCM,"WHO")
+ WHO,
+ /// (126080,DCM,"RECIST 1.0")
+ RECIST10,
+ /// (126081,DCM,"RECIST 1.1")
+ RECIST11,
+ /// (C114879,NCIt,"RANO")
+ RANO
+ };
+
+ /** (default) constructor
+ ** @param selectedValue coded entry to be selected as the current value (optional).
+ * Should be a valid code according to the DICOM definitions
+ * for this context group, i.e. no checks are performed.
+ * Call DSRContextGroup::checkSelectedValue() if needed.
+ */
+ CID6147_ResponseCriteria(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue());
+
+ /** constructor
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ */
+ CID6147_ResponseCriteria(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ /** select a coded entry given by its type as the current value
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- static helper functions ---
+
+ /** initialize this context group explicitly. Internally, the list of standard coded
+ * entries is created and initialized by calling getCodes().
+ ** @note This function can be called multiple times but in case of multi-threaded
+ * applications should be called at least once before any instance of this class
+ * is actually used. For single-threaded applications, there is no need to call
+ * it since the initialization is done implicitly.
+ */
+ static void initialize();
+
+ /** cleanup this context group, i.e.\ delete the internal list of standard coded entries.
+ * Usually, there is no need to call this method, but it might be useful in order to
+ * explicitly free the associated memory, e.g. when checking for memory leaks. The list
+ * will be recreated automatically when needed (or when initialize() is called).
+ */
+ static void cleanup();
+
+ /** map a given type to the associated coded entry
+ ** @param value type that should be mapped to a coded entry
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return coded entry that is associated with the given type
+ */
+ static DSRCodedEntryValue getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- reintroduce methods from base class
+
+ using DSRContextGroup::selectValue;
+ using DSRContextGroup::findCodedEntry;
+
+
+ protected:
+
+ /// type used for storing and managing the coded entries
+ typedef OFMap<EnumType, DSRBasicCodedEntry> CodeList;
+
+ /** print details on coded entries that are contained in this context group.
+ * See DSRCodedEntryValue::print() for details of the coded entry output.
+ ** @param stream stream to which the output should be printed
+ */
+ virtual void printCodes(STD_NAMESPACE ostream &stream) const;
+
+ /** search for a given coded entry in this context group
+ ** @param searchForCodedEntry coded entry to be searched for
+ * @param foundCodedEntry pointer to variable that will store the coded entry
+ * (if found and pointer is not NULL)
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return result of the search process, also defines the type of the entry
+ */
+ virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode = OFFalse) const;
+
+ // --- static helper function ---
+
+ /** get list of standard coded entries that are managed by this context group.
+ * Internally, the singleton pattern is used, so the list is initialized only once.
+ * Please note that this function is not thread-safe. Therefore, the initialize()
+ * function can be called before any instance of this class is actually used.
+ ** @return reference to list of coded entries managed by this context group
+ */
+ static CodeList &getCodes();
+
+ /** set the "Enhanced Encoding Mode" for a given coded entry
+ ** @param codedEntryValue coded entry for which the enhanced encoding mode is set
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue);
+
+
+ private:
+
+ /// pointer to internal code list (use a static variable for singleton pattern)
+ static CodeList *Codes;
+};
+
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID6147_ResponseCriteria CMR_CID6147;
+
+
+#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID7021_MeasurementReportDocumentTitles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-26 19:55:09 by J. Riesmeier
+ * File created on 2016-01-16 12:26:42 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID7021_MeasurementReportDocumentTitles CMR_CID7021;
+
+
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class CID7181_AbstractMultiDimensionalImageModelComponentUnits
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-16 12:26:44 by J. Riesmeier
+ *
+ */
+
+
+#ifndef CMR_CID7181_H
+#define CMR_CID7181_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrctxgr.h"
+#include "dcmtk/dcmsr/cmr/define.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Implementation of DCMR Context Group:
+ * CID 7181 - Abstract Multi-dimensional Image Model Component Units.
+ * (type: extensible, version: 20141110)
+ */
+class DCMTK_CMR_EXPORT CID7181_AbstractMultiDimensionalImageModelComponentUnits
+ : public DSRContextGroup
+{
+
+ public:
+
+ /** types of abstract multi-dimensional image model component units
+ */
+ enum EnumType
+ {
+ /// (mm[Hg],UCUM,"mmHg"), included from CID 3500
+ MmHg,
+ /// (kPa,UCUM,"kPa"), included from CID 3500
+ KPa,
+ /// ([PRU],UCUM,"P.R.U."), included from CID 3502
+ PRU,
+ /// ([wood'U],UCUM,"Wood U"), included from CID 3502
+ WoodU,
+ /// (dyn.s.cm-5,UCUM,"dyn.s.cm-5"), included from CID 3502
+ Dynscm5,
+ /// ([PRU]/m2,UCUM,"P.R.U./m2"), included from CID 3503
+ PRUPerM2,
+ /// ([wood'U]/m2,UCUM,"Wood U/m2"), included from CID 3503
+ WoodUPerM2,
+ /// (dyn.s.cm-5/m2,UCUM,"dyn.s.cm-5/m2"), included from CID 3503
+ Dynscm5PerM2,
+ /// (cm,UCUM,"centimeter"), included from CID 7460
+ Centimeter,
+ /// (mm,UCUM,"millimeter"), included from CID 7460
+ Millimeter,
+ /// (um,UCUM,"micrometer"), included from CID 7460
+ Micrometer,
+ /// (cm2,UCUM,"square centimeter"), included from CID 7461
+ SquareCentimeter,
+ /// (mm2,UCUM,"square millimeter"), included from CID 7461
+ SquareMillimeter,
+ /// (um2,UCUM,"square micrometer"), included from CID 7461
+ SquareMicrometer,
+ /// (dm3,UCUM,"cubic decimeter"), included from CID 7462
+ CubicDecimeter,
+ /// (cm3,UCUM,"cubic centimeter"), included from CID 7462
+ CubicCentimeter,
+ /// (mm3,UCUM,"cubic millimeter"), included from CID 7462
+ CubicMillimeter,
+ /// (um3,UCUM,"cubic micrometer"), included from CID 7462
+ CubicMicrometer,
+ /// ({SUVbw}g/ml,UCUM,"Standardized Uptake Value body weight"), included from CID 85
+ StandardizedUptakeValueBodyWeight,
+ /// ({SUVlbm}g/ml,UCUM,"Standardized Uptake Value lean body mass"), included from CID 85
+ StandardizedUptakeValueLeanBodyMass,
+ /// ({SUVbsa}cm2/ml,UCUM,"Standardized Uptake Value body surface area"), included from CID 85
+ StandardizedUptakeValueBodySurfaceArea,
+ /// ({SUVibw}g/ml,UCUM,"Standardized Uptake Value ideal body weight"), included from CID 85
+ StandardizedUptakeValueIdealBodyWeight,
+ /// ({counts},UCUM,"Counts"), included from CID 84
+ Counts,
+ /// ({counts}/s,UCUM,"Counts per second"), included from CID 84
+ CountsPerSecond,
+ /// ({propcounts},UCUM,"Proportional to counts"), included from CID 84
+ ProportionalToCounts,
+ /// ({propcounts}/s,UCUM,"Proportional to counts per second"), included from CID 84
+ ProportionalToCountsPerSecond,
+ /// (%,UCUM,"Percent"), included from CID 84
+ Percent,
+ /// (Bq/ml,UCUM,"Becquerels/milliliter"), included from CID 84
+ BecquerelsPerMilliliter,
+ /// (mg/min/ml,UCUM,"Milligrams/minute/milliliter"), included from CID 84
+ MilligramsPerMinutePerMilliliter,
+ /// (umol/min/ml,UCUM,"Micromole/minute/milliliter"), included from CID 84
+ MicromolePerMinutePerMilliliter,
+ /// (ml/min/g,UCUM,"Milliliter/minute/gram"), included from CID 84
+ MilliliterPerMinutePerGram,
+ /// (ml/g,UCUM,"Milliliter/gram"), included from CID 84
+ MilliliterPerGram,
+ /// (/cm,UCUM,"/Centimeter"), included from CID 84
+ PerCentimeter,
+ /// (umol/ml,UCUM,"Micromole/milliliter"), included from CID 84
+ MicromolePerMilliliter,
+ /// (1,UCUM,"no units")
+ NoUnits,
+ /// ({ratio},UCUM,"ratio")
+ Ratio,
+ /// ([hnsf'U],UCUM,"Hounsfield Unit")
+ HounsfieldUnit,
+ /// ([arb'U],UCUM,"arbitrary unit")
+ ArbitraryUnit,
+ /// (cm/s,UCUM,"centimeter/second")
+ CentimeterPerSecond,
+ /// (mm/s,UCUM,"millimeter/second")
+ MillimeterPerSecond,
+ /// (dB,UCUM,"decibel")
+ Decibel,
+ /// (Cel,UCUM,"degrees Celsius")
+ DegreesCelsius,
+ /// (ml/min,UCUM,"milliliter per minute")
+ MilliliterPerMinute,
+ /// (ml/s,UCUM,"milliliter per second")
+ MilliliterPerSecond,
+ /// (ms,UCUM,"millisecond")
+ Millisecond,
+ /// (s,UCUM,"second")
+ Second,
+ /// (Hz,UCUM,"Hertz")
+ Hertz,
+ /// (mT,UCUM,"milliTesla")
+ MilliTesla,
+ /// ({Particles}/[100]g{Tissue},UCUM,"number particles per 100 gram of tissue")
+ NumberParticlesPer100GramOfTissue,
+ /// (mm2/s,UCUM,"square millimeter per second")
+ SquareMillimeterPerSecond,
+ /// (s/mm2,UCUM,"second per square millimeter")
+ SecondPerSquareMillimeter,
+ /// (ml/[100]g/min,UCUM,"milliliter per 100 gram per minute")
+ MilliliterPer100GramPerMinute,
+ /// (ml/[100]ml,UCUM,"milliliter per 100 milliliter")
+ MilliliterPer100Milliliter,
+ /// (mmol/kg{WetWeight},UCUM,"millimoles per kg wet weight")
+ MillimolesPerKgWetWeight,
+ /// (/min,UCUM,"/min")
+ PerMin,
+ /// (/s,UCUM,"/s")
+ PerS
+ };
+
+ /** (default) constructor
+ ** @param selectedValue coded entry to be selected as the current value (optional).
+ * Should be a valid code according to the DICOM definitions
+ * for this context group, i.e. no checks are performed.
+ * Call DSRContextGroup::checkSelectedValue() if needed.
+ */
+ CID7181_AbstractMultiDimensionalImageModelComponentUnits(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue());
+
+ /** constructor
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ */
+ CID7181_AbstractMultiDimensionalImageModelComponentUnits(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ /** select a coded entry given by its type as the current value
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- static helper functions ---
+
+ /** initialize this context group explicitly. Internally, the list of standard coded
+ * entries is created and initialized by calling getCodes().
+ ** @note This function can be called multiple times but in case of multi-threaded
+ * applications should be called at least once before any instance of this class
+ * is actually used. For single-threaded applications, there is no need to call
+ * it since the initialization is done implicitly.
+ */
+ static void initialize();
+
+ /** cleanup this context group, i.e.\ delete the internal list of standard coded entries.
+ * Usually, there is no need to call this method, but it might be useful in order to
+ * explicitly free the associated memory, e.g. when checking for memory leaks. The list
+ * will be recreated automatically when needed (or when initialize() is called).
+ */
+ static void cleanup();
+
+ /** map a given type to the associated coded entry
+ ** @param value type that should be mapped to a coded entry
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return coded entry that is associated with the given type
+ */
+ static DSRCodedEntryValue getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- reintroduce methods from base class
+
+ using DSRContextGroup::selectValue;
+ using DSRContextGroup::findCodedEntry;
+
+
+ protected:
+
+ /// type used for storing and managing the coded entries
+ typedef OFMap<EnumType, DSRBasicCodedEntry> CodeList;
+
+ /** print details on coded entries that are contained in this context group.
+ * See DSRCodedEntryValue::print() for details of the coded entry output.
+ ** @param stream stream to which the output should be printed
+ */
+ virtual void printCodes(STD_NAMESPACE ostream &stream) const;
+
+ /** search for a given coded entry in this context group
+ ** @param searchForCodedEntry coded entry to be searched for
+ * @param foundCodedEntry pointer to variable that will store the coded entry
+ * (if found and pointer is not NULL)
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return result of the search process, also defines the type of the entry
+ */
+ virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode = OFFalse) const;
+
+ // --- static helper function ---
+
+ /** get list of standard coded entries that are managed by this context group.
+ * Internally, the singleton pattern is used, so the list is initialized only once.
+ * Please note that this function is not thread-safe. Therefore, the initialize()
+ * function can be called before any instance of this class is actually used.
+ ** @return reference to list of coded entries managed by this context group
+ */
+ static CodeList &getCodes();
+
+ /** set the "Enhanced Encoding Mode" for a given coded entry
+ ** @param codedEntryValue coded entry for which the enhanced encoding mode is set
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue);
+
+
+ private:
+
+ /// pointer to internal code list (use a static variable for singleton pattern)
+ static CodeList *Codes;
+};
+
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID7181_AbstractMultiDimensionalImageModelComponentUnits CMR_CID7181;
+
+
+#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID7445_DeviceParticipatingRoles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:23 by J. Riesmeier
+ * File created on 2016-01-16 12:26:46 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID7445_DeviceParticipatingRoles CMR_CID7445;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID7452_OrganizationalRoles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:24 by J. Riesmeier
+ * File created on 2016-01-16 12:26:48 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID7452_OrganizationalRoles CMR_CID7452;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID7453_PerformingRoles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 14:59:26 by J. Riesmeier
+ * File created on 2016-01-16 12:26:49 by J. Riesmeier
*
*/
static CodeList *Codes;
};
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID7453_PerformingRoles CMR_CID7453;
+
+
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class CID7464_GeneralRegionOfInterestMeasurementModifiers
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-16 12:26:51 by J. Riesmeier
+ *
+ */
+
+
+#ifndef CMR_CID7464_H
+#define CMR_CID7464_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrctxgr.h"
+#include "dcmtk/dcmsr/cmr/define.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Implementation of DCMR Context Group:
+ * CID 7464 - General Region of Interest Measurement Modifiers.
+ * (type: extensible, version: 20121101)
+ */
+class DCMTK_CMR_EXPORT CID7464_GeneralRegionOfInterestMeasurementModifiers
+ : public DSRContextGroup
+{
+
+ public:
+
+ /** types of general region of interest measurement modifiers
+ */
+ enum EnumType
+ {
+ /// (G-A437,SRT,"Maximum"), included from CID 3488
+ Maximum,
+ /// (R-404FB,SRT,"Minimum"), included from CID 3488
+ Minimum,
+ /// (R-00317,SRT,"Mean"), included from CID 3488
+ Mean,
+ /// (R-10047,SRT,"Standard Deviation")
+ StandardDeviation,
+ /// (R-40507,SRT,"Total")
+ Total,
+ /// (R-00319,SRT,"Median")
+ Median,
+ /// (R-0032E,SRT,"Mode")
+ Mode,
+ /// (126031,DCM,"Peak Value Within ROI")
+ PeakValueWithinROI,
+ /// (C0681921,UMLS,"Coefficient of Variance")
+ CoefficientOfVariance,
+ /// (126051,DCM,"Skewness")
+ Skewness,
+ /// (126052,DCM,"Kurtosis")
+ Kurtosis,
+ /// (C1711260,UMLS,"Variance")
+ Variance,
+ /// (C2347976,UMLS,"Root Mean Square")
+ RootMeanSquare
+ };
+
+ /** (default) constructor
+ ** @param selectedValue coded entry to be selected as the current value (optional).
+ * Should be a valid code according to the DICOM definitions
+ * for this context group, i.e. no checks are performed.
+ * Call DSRContextGroup::checkSelectedValue() if needed.
+ */
+ CID7464_GeneralRegionOfInterestMeasurementModifiers(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue());
+
+ /** constructor
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ */
+ CID7464_GeneralRegionOfInterestMeasurementModifiers(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ /** select a coded entry given by its type as the current value
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- static helper functions ---
+
+ /** initialize this context group explicitly. Internally, the list of standard coded
+ * entries is created and initialized by calling getCodes().
+ ** @note This function can be called multiple times but in case of multi-threaded
+ * applications should be called at least once before any instance of this class
+ * is actually used. For single-threaded applications, there is no need to call
+ * it since the initialization is done implicitly.
+ */
+ static void initialize();
+
+ /** cleanup this context group, i.e.\ delete the internal list of standard coded entries.
+ * Usually, there is no need to call this method, but it might be useful in order to
+ * explicitly free the associated memory, e.g. when checking for memory leaks. The list
+ * will be recreated automatically when needed (or when initialize() is called).
+ */
+ static void cleanup();
+
+ /** map a given type to the associated coded entry
+ ** @param value type that should be mapped to a coded entry
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return coded entry that is associated with the given type
+ */
+ static DSRCodedEntryValue getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- reintroduce methods from base class
+
+ using DSRContextGroup::selectValue;
+ using DSRContextGroup::findCodedEntry;
+
+
+ protected:
+
+ /// type used for storing and managing the coded entries
+ typedef OFMap<EnumType, DSRBasicCodedEntry> CodeList;
+
+ /** print details on coded entries that are contained in this context group.
+ * See DSRCodedEntryValue::print() for details of the coded entry output.
+ ** @param stream stream to which the output should be printed
+ */
+ virtual void printCodes(STD_NAMESPACE ostream &stream) const;
+
+ /** search for a given coded entry in this context group
+ ** @param searchForCodedEntry coded entry to be searched for
+ * @param foundCodedEntry pointer to variable that will store the coded entry
+ * (if found and pointer is not NULL)
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return result of the search process, also defines the type of the entry
+ */
+ virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode = OFFalse) const;
+
+ // --- static helper function ---
+
+ /** get list of standard coded entries that are managed by this context group.
+ * Internally, the singleton pattern is used, so the list is initialized only once.
+ * Please note that this function is not thread-safe. Therefore, the initialize()
+ * function can be called before any instance of this class is actually used.
+ ** @return reference to list of coded entries managed by this context group
+ */
+ static CodeList &getCodes();
+
+ /** set the "Enhanced Encoding Mode" for a given coded entry
+ ** @param codedEntryValue coded entry for which the enhanced encoding mode is set
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue);
+
+
+ private:
+
+ /// pointer to internal code list (use a static variable for singleton pattern)
+ static CodeList *Codes;
+};
+
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID7464_GeneralRegionOfInterestMeasurementModifiers CMR_CID7464;
+
+
+#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class CID7469_GenericIntensityAndSizeMeasurements
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-16 12:26:53 by J. Riesmeier
+ *
+ */
+
+
+#ifndef CMR_CID7469_H
+#define CMR_CID7469_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrctxgr.h"
+#include "dcmtk/dcmsr/cmr/define.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Implementation of DCMR Context Group:
+ * CID 7469 - Generic Intensity and Size Measurements.
+ * (type: extensible, version: 20141110)
+ */
+class DCMTK_CMR_EXPORT CID7469_GenericIntensityAndSizeMeasurements
+ : public DSRContextGroup
+{
+
+ public:
+
+ /** types of generic intensity and size measurements
+ */
+ enum EnumType
+ {
+ /// (F-6175A,SRT,"N-acetylaspartate"), included from CID 4033
+ NAcetylaspartate,
+ /// (F-61080,SRT,"Citrate"), included from CID 4033
+ Citrate,
+ /// (F-61620,SRT,"Choline"), included from CID 4033
+ Choline,
+ /// (F-61380,SRT,"Creatine"), included from CID 4033
+ Creatine,
+ /// (113094,DCM,"Creatine and Choline"), included from CID 4033
+ CreatineAndCholine,
+ /// (F-61760,SRT,"Lactate"), included from CID 4033
+ Lactate,
+ /// (F-63600,SRT,"Lipid"), included from CID 4033
+ Lipid,
+ /// (113095,DCM,"Lipid and Lactate"), included from CID 4033
+ LipidAndLactate,
+ /// (113080,DCM,"Glutamate and glutamine"), included from CID 4033
+ GlutamateAndGlutamine,
+ /// (F-64210,SRT,"Glutamine"), included from CID 4033
+ Glutamine,
+ /// (F-64460,SRT,"Tuarine"), included from CID 4033
+ Tuarine,
+ /// (F-61A90,SRT,"Inositol"), included from CID 4033
+ Inositol,
+ /// (113081,DCM,"Choline/Creatine Ratio"), included from CID 4033
+ CholinePerCreatineRatio,
+ /// (113082,DCM,"N-acetylaspartate/Creatine Ratio"), included from CID 4033
+ NAcetylaspartatePerCreatineRatio,
+ /// (113083,DCM,"N-acetylaspartate/Choline Ratio"), included from CID 4033
+ NAcetylaspartatePerCholineRatio,
+ /// (113096,DCM,"Creatine+Choline/Citrate Ratio"), included from CID 4033
+ CreatinePlusCholinePerCitrateRatio,
+ /// (113063,DCM,"T1"), included from CID 7180
+ T1,
+ /// (113065,DCM,"T2"), included from CID 7180
+ T2,
+ /// (113064,DCM,"T2*"), included from CID 7180
+ T2Star,
+ /// (113058,DCM,"Proton Density"), included from CID 7180
+ ProtonDensity,
+ /// (110800,DCM,"Spin Tagging Perfusion MR Signal Intensity"), included from CID 7180
+ SpinTaggingPerfusionMRSignalIntensity,
+ /// (113070,DCM,"Velocity encoded"), included from CID 7180
+ VelocityEncoded,
+ /// (113067,DCM,"Temperature encoded"), included from CID 7180
+ TemperatureEncoded,
+ /// (110801,DCM,"Contrast Agent Angio MR Signal Intensity"), included from CID 7180
+ ContrastAgentAngioMRSignalIntensity,
+ /// (110802,DCM,"Time Of Flight Angio MR Signal Intensity"), included from CID 7180
+ TimeOfFlightAngioMRSignalIntensity,
+ /// (110803,DCM,"Proton Density Weighted MR Signal Intensity"), included from CID 7180
+ ProtonDensityWeightedMRSignalIntensity,
+ /// (110804,DCM,"T1 Weighted MR Signal Intensity"), included from CID 7180
+ T1WeightedMRSignalIntensity,
+ /// (110805,DCM,"T2 Weighted MR Signal Intensity"), included from CID 7180
+ T2WeightedMRSignalIntensity,
+ /// (110806,DCM,"T2* Weighted MR Signal Intensity"), included from CID 7180
+ T2StarWeightedMRSignalIntensity,
+ /// (113043,DCM,"Diffusion weighted"), included from CID 7180
+ DiffusionWeighted,
+ /// (110807,DCM,"Field Map MR Signal Intensity"), included from CID 7180
+ FieldMapMRSignalIntensity,
+ /// (110808,DCM,"Fractional Anisotropy"), included from CID 7180
+ FractionalAnisotropy,
+ /// (110809,DCM,"Relative Anisotropy"), included from CID 7180
+ RelativeAnisotropy,
+ /// (113041,DCM,"Apparent Diffusion Coefficient"), included from CID 7180
+ ApparentDiffusionCoefficient,
+ /// (110810,DCM,"Volumetric Diffusion Dxx Component"), included from CID 7180
+ VolumetricDiffusionDxxComponent,
+ /// (110811,DCM,"Volumetric Diffusion Dxy Component"), included from CID 7180
+ VolumetricDiffusionDxyComponent,
+ /// (110812,DCM,"Volumetric Diffusion Dxz Component"), included from CID 7180
+ VolumetricDiffusionDxzComponent,
+ /// (110813,DCM,"Volumetric Diffusion Dyy Component"), included from CID 7180
+ VolumetricDiffusionDyyComponent,
+ /// (110814,DCM,"Volumetric Diffusion Dyz Component"), included from CID 7180
+ VolumetricDiffusionDyzComponent,
+ /// (110815,DCM,"Volumetric Diffusion Dzz Component"), included from CID 7180
+ VolumetricDiffusionDzzComponent,
+ /// (110816,DCM,"T1 Weighted Dynamic Contrast Enhanced MR Signal Intensity"), included from CID 7180
+ T1WeightedDynamicContrastEnhancedMRSignalIntensity,
+ /// (110817,DCM,"T2 Weighted Dynamic Contrast Enhanced MR Signal Intensity"), included from CID 7180
+ T2WeightedDynamicContrastEnhancedMRSignalIntensity,
+ /// (110818,DCM,"T2* Weighted Dynamic Contrast Enhanced MR Signal Intensity"), included from CID 7180
+ T2StarWeightedDynamicContrastEnhancedMRSignalIntensity,
+ /// (110819,DCM,"Blood Oxygenation Level"), included from CID 7180
+ BloodOxygenationLevel,
+ /// (110820,DCM,"Nuclear Medicine Projection Activity"), included from CID 7180
+ NuclearMedicineProjectionActivity,
+ /// (110821,DCM,"Nuclear Medicine Tomographic Activity"), included from CID 7180
+ NuclearMedicineTomographicActivity,
+ /// (110822,DCM,"Spatial Displacement X Component"), included from CID 7180
+ SpatialDisplacementXComponent,
+ /// (110823,DCM,"Spatial Displacement Y Component"), included from CID 7180
+ SpatialDisplacementYComponent,
+ /// (110824,DCM,"Spatial Displacement Z Component"), included from CID 7180
+ SpatialDisplacementZComponent,
+ /// (110825,DCM,"Hemodynamic Resistance"), included from CID 7180
+ HemodynamicResistance,
+ /// (110826,DCM,"Indexed Hemodynamic Resistance"), included from CID 7180
+ IndexedHemodynamicResistance,
+ /// (112031,DCM,"Attenuation Coefficient"), included from CID 7180
+ AttenuationCoefficient,
+ /// (110827,DCM,"Tissue Velocity"), included from CID 7180
+ TissueVelocity,
+ /// (110828,DCM,"Flow Velocity"), included from CID 7180
+ FlowVelocity,
+ /// (P0-02241,SRT,"Power Doppler"), included from CID 7180
+ PowerDoppler,
+ /// (110829,DCM,"Flow Variance"), included from CID 7180
+ FlowVariance,
+ /// (110830,DCM,"Elasticity"), included from CID 7180
+ Elasticity,
+ /// (110831,DCM,"Perfusion"), included from CID 7180
+ Perfusion,
+ /// (110832,DCM,"Speed of sound"), included from CID 7180
+ SpeedOfSound,
+ /// (110833,DCM,"Ultrasound Attenuation"), included from CID 7180
+ UltrasoundAttenuation,
+ /// (113068,DCM,"Student's T-test"), included from CID 7180
+ StudentsTTest,
+ /// (113071,DCM,"Z-score"), included from CID 7180
+ ZScore,
+ /// (113057,DCM,"R-Coefficient"), included from CID 7180
+ RCoefficient,
+ /// (126220,DCM,"R2-Coefficient"), included from CID 7180
+ R2Coefficient,
+ /// (110834,DCM,"RGB R Component"), included from CID 7180
+ RGBRComponent,
+ /// (110835,DCM,"RGB G Component"), included from CID 7180
+ RGBGComponent,
+ /// (110836,DCM,"RGB B Component"), included from CID 7180
+ RGBBComponent,
+ /// (110837,DCM,"YBR FULL Y Component"), included from CID 7180
+ YBR_FULLYComponent,
+ /// (110838,DCM,"YBR FULL CB Component"), included from CID 7180
+ YBR_FULL_CBComponent,
+ /// (110839,DCM,"YBR FULL CR Component"), included from CID 7180
+ YBR_FULL_CRComponent,
+ /// (110840,DCM,"YBR PARTIAL Y Component"), included from CID 7180
+ YBR_PARTIALYComponent,
+ /// (110841,DCM,"YBR PARTIAL CB Component"), included from CID 7180
+ YBR_PARTIAL_CBComponent,
+ /// (110842,DCM,"YBR PARTIAL CR Component"), included from CID 7180
+ YBR_PARTIAL_CRComponent,
+ /// (110843,DCM,"YBR ICT Y Component"), included from CID 7180
+ YBR_ICTYComponent,
+ /// (110844,DCM,"YBR ICT CB Component"), included from CID 7180
+ YBR_ICT_CBComponent,
+ /// (110845,DCM,"YBR ICT CR Component"), included from CID 7180
+ YBR_ICT_CRComponent,
+ /// (110846,DCM,"YBR RCT Y Component"), included from CID 7180
+ YBR_RCTYComponent,
+ /// (110847,DCM,"YBR RCT CB Component"), included from CID 7180
+ YBR_RCT_CBComponent,
+ /// (110848,DCM,"YBR RCT CR Component"), included from CID 7180
+ YBR_RCT_CRComponent,
+ /// (110849,DCM,"Echogenicity"), included from CID 7180
+ Echogenicity,
+ /// (110850,DCM,"X-Ray Attenuation"), included from CID 7180
+ XRayAttenuation,
+ /// (110852,DCM,"MR signal intensity"), included from CID 7180
+ MRSignalIntensity,
+ /// (110853,DCM,"Binary Segmentation"), included from CID 7180
+ BinarySegmentation,
+ /// (110854,DCM,"Fractional Probabilistic Segmentation"), included from CID 7180
+ FractionalProbabilisticSegmentation,
+ /// (110855,DCM,"Fractional Occupancy Segmentation"), included from CID 7180
+ FractionalOccupancySegmentation,
+ /// (126393,DCM,"R1"), included from CID 7180
+ R1,
+ /// (126394,DCM,"R2"), included from CID 7180
+ R2,
+ /// (126312,DCM,"Ktrans"), included from CID 4107
+ Ktrans,
+ /// (126313,DCM,"kep"), included from CID 4107
+ Kep,
+ /// (126314,DCM,"ve"), included from CID 4107
+ Ve,
+ /// (126330,DCM,"tau_m"), included from CID 4107
+ Tau_m,
+ /// (126331,DCM,"vp"), included from CID 4107
+ Vp,
+ /// (113055,DCM,"Regional Cerebral Blood Flow"), included from CID 4108
+ RegionalCerebralBloodFlow,
+ /// (126390,DCM,"Regional Blood Flow"), included from CID 4108
+ RegionalBloodFlow,
+ /// (113056,DCM,"Regional Cerebral Blood Volume"), included from CID 4108
+ RegionalCerebralBloodVolume,
+ /// (126391,DCM,"Regional Blood Volume"), included from CID 4108
+ RegionalBloodVolume,
+ /// (113052,DCM,"Mean Transit Time"), included from CID 4108
+ MeanTransitTime,
+ /// (113069,DCM,"Time To Peak"), included from CID 4108
+ TimeToPeak,
+ /// (126392,DCM,"Oxygen Extraction Fraction"), included from CID 4108
+ OxygenExtractionFraction,
+ /// (126320,DCM,"IAUC"), included from CID 4109
+ IAUC,
+ /// (126321,DCM,"IAUC60"), included from CID 4109
+ IAUC60,
+ /// (126322,DCM,"IAUC90"), included from CID 4109
+ IAUC90,
+ /// (126370,DCM,"Time of Peak Concentration"), included from CID 4109
+ TimeOfPeakConcentration,
+ /// (126372,DCM,"Time of Leading Half-Peak Concentration"), included from CID 4109
+ TimeOfLeadingHalfPeakConcentration,
+ /// (126371,DCM,"Bolus Arrival Time"), included from CID 4109
+ BolusArrivalTime,
+ /// (126374,DCM,"Temporal Derivative Threshold"), included from CID 4109
+ TemporalDerivativeThreshold,
+ /// (126375,DCM,"Maximum Slope"), included from CID 4109
+ MaximumSlope,
+ /// (126376,DCM,"Maximum Difference"), included from CID 4109
+ MaximumDifference,
+ /// (126377,DCM,"Tracer Concentration"), included from CID 4109
+ TracerConcentration,
+ /// (126400,DCM,"Standardized Uptake Value"), included from CID 7180
+ StandardizedUptakeValue,
+ /// (126401,DCM,"SUVbw"), included from CID 7180
+ SUVbw,
+ /// (126402,DCM,"SUVlbm"), included from CID 7180
+ SUVlbm,
+ /// (126403,DCM,"SUVbsa"), included from CID 7180
+ SUVbsa,
+ /// (126404,DCM,"SUVibw"), included from CID 7180
+ SUVibw,
+ /// (G-A22A,SRT,"Length"), included from CID 7470
+ Length,
+ /// (121211,DCM,"Path length"), included from CID 7470
+ PathLength,
+ /// (121206,DCM,"Distance"), included from CID 7470
+ Distance,
+ /// (G-A220,SRT,"Width"), included from CID 7470
+ Width,
+ /// (G-D785,SRT,"Depth"), included from CID 7470
+ Depth,
+ /// (M-02550,SRT,"Diameter"), included from CID 7470
+ Diameter,
+ /// (G-A185,SRT,"Long Axis"), included from CID 7470
+ LongAxis,
+ /// (G-A186,SRT,"Short Axis"), included from CID 7470
+ ShortAxis,
+ /// (G-A193,SRT,"Major Axis"), included from CID 7470
+ MajorAxis,
+ /// (G-A194,SRT,"Minor Axis"), included from CID 7470
+ MinorAxis,
+ /// (G-A195,SRT,"Perpendicular Axis"), included from CID 7470
+ PerpendicularAxis,
+ /// (G-A196,SRT,"Radius"), included from CID 7470
+ Radius,
+ /// (G-A197,SRT,"Perimeter"), included from CID 7470
+ Perimeter,
+ /// (M-02560,SRT,"Circumference"), included from CID 7470
+ Circumference,
+ /// (G-A198,SRT,"Diameter of circumscribed circle"), included from CID 7470
+ DiameterOfCircumscribedCircle,
+ /// (121207,DCM,"Height"), included from CID 7470
+ Height,
+ /// (G-A166,SRT,"Area"), included from CID 7471
+ Area,
+ /// (G-A16A,SRT,"Area of defined region"), included from CID 7471
+ AreaOfDefinedRegion,
+ /// (G-D705,SRT,"Volume"), included from CID 7472
+ Volume,
+ /// (121216,DCM,"Volume estimated from single 2D region"), included from CID 7472
+ VolumeEstimatedFromSingle2DRegion,
+ /// (121218,DCM,"Volume estimated from two non-coplanar 2D regions"), included from CID 7472
+ VolumeEstimatedFromTwoNonCoplanar2DRegions,
+ /// (121217,DCM,"Volume estimated from three or more non-coplanar 2D regions"), included from CID 7472
+ VolumeEstimatedFromThreeOrMoreNonCoplanar2DRegions,
+ /// (121222,DCM,"Volume of sphere"), included from CID 7472
+ VolumeOfSphere,
+ /// (121221,DCM,"Volume of ellipsoid"), included from CID 7472
+ VolumeOfEllipsoid,
+ /// (121220,DCM,"Volume of circumscribed sphere"), included from CID 7472
+ VolumeOfCircumscribedSphere,
+ /// (121219,DCM,"Volume of bounding three dimensional region"), included from CID 7472
+ VolumeOfBoundingThreeDimensionalRegion
+ };
+
+ /** (default) constructor
+ ** @param selectedValue coded entry to be selected as the current value (optional).
+ * Should be a valid code according to the DICOM definitions
+ * for this context group, i.e. no checks are performed.
+ * Call DSRContextGroup::checkSelectedValue() if needed.
+ */
+ CID7469_GenericIntensityAndSizeMeasurements(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue());
+
+ /** constructor
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ */
+ CID7469_GenericIntensityAndSizeMeasurements(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ /** select a coded entry given by its type as the current value
+ ** @param selectedValue type mapped to a coded entry that is selected as the
+ * current value
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- static helper functions ---
+
+ /** initialize this context group explicitly. Internally, the list of standard coded
+ * entries is created and initialized by calling getCodes().
+ ** @note This function can be called multiple times but in case of multi-threaded
+ * applications should be called at least once before any instance of this class
+ * is actually used. For single-threaded applications, there is no need to call
+ * it since the initialization is done implicitly.
+ */
+ static void initialize();
+
+ /** cleanup this context group, i.e.\ delete the internal list of standard coded entries.
+ * Usually, there is no need to call this method, but it might be useful in order to
+ * explicitly free the associated memory, e.g. when checking for memory leaks. The list
+ * will be recreated automatically when needed (or when initialize() is called).
+ */
+ static void cleanup();
+
+ /** map a given type to the associated coded entry
+ ** @param value type that should be mapped to a coded entry
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return coded entry that is associated with the given type
+ */
+ static DSRCodedEntryValue getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode = OFFalse);
+
+ // --- reintroduce methods from base class
+
+ using DSRContextGroup::selectValue;
+ using DSRContextGroup::findCodedEntry;
+
+
+ protected:
+
+ /// type used for storing and managing the coded entries
+ typedef OFMap<EnumType, DSRBasicCodedEntry> CodeList;
+
+ /** print details on coded entries that are contained in this context group.
+ * See DSRCodedEntryValue::print() for details of the coded entry output.
+ ** @param stream stream to which the output should be printed
+ */
+ virtual void printCodes(STD_NAMESPACE ostream &stream) const;
+
+ /** search for a given coded entry in this context group
+ ** @param searchForCodedEntry coded entry to be searched for
+ * @param foundCodedEntry pointer to variable that will store the coded entry
+ * (if found and pointer is not NULL)
+ * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ ** @return result of the search process, also defines the type of the entry
+ */
+ virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode = OFFalse) const;
+
+ // --- static helper function ---
+
+ /** get list of standard coded entries that are managed by this context group.
+ * Internally, the singleton pattern is used, so the list is initialized only once.
+ * Please note that this function is not thread-safe. Therefore, the initialize()
+ * function can be called before any instance of this class is actually used.
+ ** @return reference to list of coded entries managed by this context group
+ */
+ static CodeList &getCodes();
+
+ /** set the "Enhanced Encoding Mode" for a given coded entry
+ ** @param codedEntryValue coded entry for which the enhanced encoding mode is set
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue);
+
+
+ private:
+
+ /// pointer to internal code list (use a static variable for singleton pattern)
+ static CodeList *Codes;
+};
+
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the context group class
+typedef CID7469_GenericIntensityAndSizeMeasurements CMR_CID7469;
+
+
+#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CMR_ContentMappingResource
* - CID4031_CommonAnatomicRegions
* - CID5000_Languages
* - CID5001_Countries
+ * - CID6147_ResponseCriteria
* - CID7021_MeasurementReportDocumentTitles
+ * - CID7181_AbstractMultiDimensionalImageModelComponentUnits
* - CID7445_DeviceParticipatingRoles
* - CID7452_OrganizationalRoles
* - CID7453_PerformingRoles
+ * - CID7464_GeneralRegionOfInterestMeasurementModifiers
+ * - CID7469_GenericIntensityAndSizeMeasurements
* - CID10013_CTAcquisitionType
* - CID10033_CTReconstructionAlgorithm
*
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CMR_SRNumericMeasurementValue
* class declaration *
*---------------------*/
-/** Class for SR numeric measurement values
- * (extended version with additional support of the DICOM Content Mapping Resource)
+/** Class for SR numeric values and measurements
+ * (extended version with additional support of the DICOM Content Mapping Resource).
+ * This class checks whether the optional value qualifier uses a coded entry from the
+ * Defined Context Group 42 (Numeric Value Qualifier), see DICOM PS 3.3 Table C.18.1-1.
*/
class DCMTK_CMR_EXPORT CMR_SRNumericMeasurementValue
: public DSRNumericMeasurementValue
CMR_SRNumericMeasurementValue();
/** constructor
- ** @param numericValue numeric measurement value (VR=DS, mandatory)
+ ** @param numericValue numeric value (VR=DS, mandatory)
* @param measurementUnit code representing the units of measurement (mandatory)
* @param check if enabled, check 'numericValue' and 'measurementUnit' for
* validity before setting them. See corresponding setValue()
const OFBool check = OFTrue);
/** constructor
- ** @param numericValue numeric measurement value (VR=DS, mandatory)
+ ** @param valueQualifier code representing the numeric value qualifier. Used to
+ * specify the reason for the absence of the measured value
+ * sequence, i.e. why the numeric value and measurement unit
+ * are empty.
+ * @param check if enabled, check value for validity before setting it.
+ * See corresponding setValue() method for details.
+ */
+ CMR_SRNumericMeasurementValue(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check = OFTrue);
+
+ /** constructor
+ ** @param numericValue numeric value (VR=DS, mandatory)
* @param measurementUnit code representing the units of measurement (mandatory)
* @param valueQualifier code representing the numeric value qualifier (optional).
* Can also be used to specify the reason for the absence of
- * the measured value sequence.
+ * the measured value sequence (where 'numericValue' and
+ * 'measurementUnit' are stored).
* @param check if enabled, check values for validity before setting them.
* See corresponding setValue() method for details.
*/
CMR_SRNumericMeasurementValue(const OFString &numericValue,
const DSRCodedEntryValue &measurementUnit,
- const DSRCodedEntryValue &valueQualifier,
+ const CID42_NumericValueQualifier &valueQualifier,
const OFBool check = OFTrue);
/** copy constructor
*/
CMR_SRNumericMeasurementValue(const CMR_SRNumericMeasurementValue &numericMeasurement);
+ /** copy constructor
+ ** @param numericMeasurement numeric measurement value to be copied (not checked !)
+ */
+ CMR_SRNumericMeasurementValue(const DSRNumericMeasurementValue &numericMeasurement);
+
/** destructor
*/
virtual ~CMR_SRNumericMeasurementValue();
*/
CMR_SRNumericMeasurementValue &operator=(const CMR_SRNumericMeasurementValue &numericMeasurement);
+ /** set empty numeric value and measurement unit with a numeric value qualifier.
+ * Before setting the value, it is usually checked. If the value is invalid, the
+ * current numeric measurement value is not replaced and remains unchanged.
+ ** @param valueQualifier numeric value qualifier to be set. Used to specify the
+ * reason for the absence of the measured value sequence,
+ * i.e. why the numeric value and measurement unit are empty.
+ * @param check if enabled, check value for validity before setting it.
+ * See checkNumericValueQualifier() method for details.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setValue(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check = OFTrue);
+
+ /** set numeric value, measurement unit and numeric value qualifier.
+ * Before setting the values, they are usually checked. Please note that both
+ * 'numericValue' and 'measurementUnit' either have to be empty or non-empty.
+ * If one of the three values is invalid, the current numeric measurement value is not
+ * replaced and remains unchanged. If the values are replaced, the optional floating
+ * point and rational representations are cleared, i.e. they have to be set manually if
+ * needed.
+ ** @param numericValue numeric value to be set (VR=DS, mandatory)
+ * @param measurementUnit measurement unit to be set (mandatory)
+ * @param valueQualifier numeric value qualifier to be set (optional). Can also be
+ * used to specify the reason for the absence of the measured
+ * value sequence (where 'numericValue' and 'measurementUnit'
+ * are stored). Use an empty code to remove the current value.
+ * @param check if enabled, check values for validity before setting them.
+ * See checkXXX() methods for details.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setValue(const OFString &numericValue,
+ const DSRCodedEntryValue &measurementUnit,
+ const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check = OFTrue);
+
/** set numeric value qualifier.
* This optional code specifies the qualification of the Numeric Value in the Measured
* Value Sequence, or the reason for the absence of the Measured Value Sequence Item.
- ** @param valueQualifier numeric value qualifier to be set
- * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
+ * Before setting the code, it is usually checked. If the code is invalid the current
+ * code is not replaced and remains unchanged.
+ ** @param valueQualifier numeric value qualifier to be set (optional). Use an empty
+ * code to remove the current value.
+ * @param check if enabled, check value for validity before setting it.
+ * See checkNumericValueQualifier() method for details.
** @return status, EC_Normal if successful, an error code otherwise
*/
- OFCondition setNumericValueQualifier(CID42_NumericValueQualifier::EnumType valueQualifier,
- const OFBool enhancedEncodingMode = OFFalse);
+ OFCondition setNumericValueQualifier(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check = OFTrue);
// --- reintroduce method from base class
- using DSRNumericMeasurementValue::setNumericValueQualifier;
+ using DSRNumericMeasurementValue::setValue;
+ using DSRNumericMeasurementValue::setNumericValueQualifier;
protected:
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class CMR_SRNumericMeasurementValueWithUnits
+ *
+ * Author: Joerg Riesmeier
+ *
+ */
+
+
+#ifndef CMR_SRNUMVLU_H
+#define CMR_SRNUMVLU_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/cmr/srnumvl.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Class for SR numeric values and measurements
+ * (extended version with additional support of the DICOM Content Mapping Resource).
+ * This class checks whether the optional value qualifier uses a coded entry from the
+ * Defined Context Group 42 (Numeric Value Qualifier), see DICOM PS 3.3 Table C.18.1-1.
+ * It also provides a means of specifying the Context Group for the measurement unit
+ * as a C++ template type parameter. Both Baseline (BCID) and Defined Context Groups
+ * (DCID) are supported.
+ ** @tparam T_Units template type used for the measurement units (context group)
+ * @tparam T_DefinedGroup flag indicating whether 'T_Units' is used as a baseline
+ * (default) or defined context group
+ */
+template <typename T_Units, OFBool T_DefinedGroup = OFFalse>
+class CMR_SRNumericMeasurementValueWithUnits
+ : public CMR_SRNumericMeasurementValue
+{
+
+ public:
+
+ /** default constructor
+ */
+ CMR_SRNumericMeasurementValueWithUnits();
+
+ /** constructor
+ ** @param numericValue numeric value (VR=DS, mandatory)
+ * @param measurementUnit code representing the units of measurement (mandatory)
+ * @param check if enabled, check 'numericValue' and 'measurementUnit' for
+ * validity before setting them. See corresponding setValue()
+ * method for details.
+ */
+ CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const OFBool check = OFTrue);
+
+ /** constructor
+ ** @param valueQualifier code representing the numeric value qualifier. Used to
+ * specify the reason for the absence of the measured value
+ * sequence, i.e. why the numeric value and measurement unit
+ * are empty.
+ * @param check if enabled, check value for validity before setting it.
+ * See corresponding setValue() method for details.
+ */
+ CMR_SRNumericMeasurementValueWithUnits(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check = OFTrue);
+
+ /** constructor
+ ** @param numericValue numeric value (VR=DS, mandatory)
+ * @param measurementUnit code representing the units of measurement (mandatory)
+ * @param valueQualifier code representing the numeric value qualifier (optional).
+ * Can also be used to specify the reason for the absence of
+ * the measured value sequence (where 'numericValue' and
+ * 'measurementUnit' are stored).
+ * @param check if enabled, check values for validity before setting them.
+ * See corresponding setValue() method for details.
+ */
+ CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check = OFTrue);
+
+ /** copy constructor
+ ** @param numericMeasurement numeric measurement value to be copied (not checked !)
+ */
+ CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup> &numericMeasurement);
+
+ /** copy constructor
+ ** @param numericMeasurement numeric measurement value to be copied (not checked !)
+ */
+ CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValue &numericMeasurement);
+
+ /** destructor
+ */
+ virtual ~CMR_SRNumericMeasurementValueWithUnits();
+
+ /** assignment operator
+ ** @param numericMeasurement numeric measurement value to be copied (not checked !)
+ ** @return reference to this numeric value after 'numericMeasurement' has been copied
+ */
+ CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup> &operator=(const CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup> &numericMeasurement);
+
+ /** set numeric value and measurement unit.
+ * Before setting the values, they are usually checked. Please note that both values
+ * (i.e. 'numericValue' and 'measurementUnit') either have to be empty or non-empty.
+ * If the value pair is invalid, the current value pair is not replaced and remains
+ * unchanged. If the value pair is replaced, the optional floating point and rational
+ * representations are cleared, i.e. they have to be set manually if needed.
+ ** @param numericValue numeric value to be set (VR=DS, mandatory)
+ * @param measurementUnit measurement unit to be set (mandatory)
+ * @param check if enabled, check values for validity before setting them.
+ * See checkXXX() methods for details.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setValue(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const OFBool check = OFTrue);
+
+ /** set numeric value, measurement unit and numeric value qualifier.
+ * Before setting the values, they are usually checked. Please note that both
+ * 'numericValue' and 'measurementUnit' either have to be empty or non-empty.
+ * If one of the three values is invalid, the current numeric measurement value is not
+ * replaced and remains unchanged. If the values are replaced, the optional floating
+ * point and rational representations are cleared, i.e. they have to be set manually if
+ * needed.
+ ** @param numericValue numeric value to be set (VR=DS, mandatory)
+ * @param measurementUnit measurement unit to be set (mandatory)
+ * @param valueQualifier numeric value qualifier to be set (optional). Can also be
+ * used to specify the reason for the absence of the measured
+ * value sequence (where 'numericValue' and 'measurementUnit'
+ * are stored). Use an empty code to remove the current value.
+ * @param check if enabled, check values for validity before setting them.
+ * See checkXXX() methods for details.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setValue(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check = OFTrue);
+
+ /** set measurement unit.
+ * Before setting the code, it is usually checked. If the code is invalid the current
+ * code is not replaced and remains unchanged.
+ ** @param measurementUnit measurement unit to be set (mandatory)
+ * @param check if enabled, check value for validity before setting it.
+ * See checkMeasurementUnit() method for details. An empty
+ * value is never accepted, use the clear() method instead.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMeasurementUnit(const T_Units &measurementUnit,
+ const OFBool check = OFTrue);
+
+
+ protected:
+
+ /** check the specified measurement unit for validity.
+ * First, the inherited method CMR_SRNumericMeasurementValue::checkMeasurementUnit()
+ * is called. Then, conformance with any Defined Context Group (T_Units) is checked.
+ ** @param measurementUnit measurement unit to be checked
+ ** @return status, EC_Normal if measurement unit is valid, an error code otherwise
+ */
+ virtual OFCondition checkMeasurementUnit(const DSRCodedEntryValue &measurementUnit) const;
+
+ /** check the specified measurement unit for validity.
+ * This method also checks conformance with any Defined Context Group (T_Units).
+ ** @param measurementUnit measurement unit to be checked
+ ** @return status, EC_Normal if measurement unit is valid, an error code otherwise
+ */
+ virtual OFCondition checkMeasurementUnit(const T_Units &measurementUnit) const;
+};
+
+
+/*------------------*
+ * implementation *
+ *------------------*/
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::CMR_SRNumericMeasurementValueWithUnits()
+ : CMR_SRNumericMeasurementValue()
+{
+}
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const OFBool check)
+ : CMR_SRNumericMeasurementValue()
+{
+ /* use this method in order to pass T_Units parameter */
+ setValue(numericValue, measurementUnit, check);
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::CMR_SRNumericMeasurementValueWithUnits(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check)
+ : CMR_SRNumericMeasurementValue(valueQualifier, check)
+{
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check)
+ : CMR_SRNumericMeasurementValue()
+{
+ /* use this method in order to pass T_Units parameter */
+ setValue(numericValue, measurementUnit, valueQualifier, check);
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup> &numericMeasurement)
+ : CMR_SRNumericMeasurementValue(numericMeasurement)
+{
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValue &numericMeasurement)
+ : CMR_SRNumericMeasurementValue(numericMeasurement)
+{
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::~CMR_SRNumericMeasurementValueWithUnits()
+{
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup> &CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::operator=(const CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup> &numericMeasurement)
+{
+ CMR_SRNumericMeasurementValue::operator=(numericMeasurement);
+ return *this;
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+OFCondition CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::setValue(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const OFBool check)
+{
+ const DSRCodedEntryValue valueQualifier;
+ /* call the function doing the real work */
+ return CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::setValue(numericValue, measurementUnit, valueQualifier, check);
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+OFCondition CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::setValue(const OFString &numericValue,
+ const T_Units &measurementUnit,
+ const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ if (check)
+ {
+ /* only check if at least one of the two values is non-empty */
+ if (!numericValue.empty() || !measurementUnit.hasSelectedValue())
+ {
+ /* check whether the passed values are valid */
+ result = checkNumericValue(numericValue);
+ if (result.good())
+ result = checkMeasurementUnit(measurementUnit);
+ }
+ if (result.good())
+ result = checkNumericValueQualifier(valueQualifier);
+ }
+ /* set the value (without checking all the details again) */
+ if (result.good())
+ result = CMR_SRNumericMeasurementValue::setValue(numericValue, measurementUnit, valueQualifier, OFFalse /*check*/);
+ return result;
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+OFCondition CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::setMeasurementUnit(const T_Units &measurementUnit,
+ const OFBool check)
+{
+ /* first, check given measurement unit for validity (if not disabled) */
+ OFCondition result = (check) ? checkMeasurementUnit(measurementUnit) : EC_Normal;
+ /* then, set the measurement unit (without checking the coded entry again) */
+ if (result.good())
+ result = CMR_SRNumericMeasurementValue::setMeasurementUnit(measurementUnit, OFFalse /*check*/);
+ return result;
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+OFCondition CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::checkMeasurementUnit(const DSRCodedEntryValue &measurementUnit) const
+{
+ /* first, check coded entry for basic validity */
+ OFCondition result = CMR_SRNumericMeasurementValue::checkMeasurementUnit(measurementUnit);
+ /* then, check whether coded entry is allowed (if defined context group) */
+ if (result.good() && T_DefinedGroup)
+ {
+ const T_Units contextGroup;
+ if (!contextGroup.hasCodedEntry(measurementUnit))
+ result = SR_EC_CodedEntryNotInContextGroup;
+ }
+ return result;
+}
+
+
+template <typename T_Units, OFBool T_DefinedGroup>
+OFCondition CMR_SRNumericMeasurementValueWithUnits<T_Units, T_DefinedGroup>::checkMeasurementUnit(const T_Units &measurementUnit) const
+{
+ /* measurement unit should never be empty */
+ return measurementUnit.hasSelectedValue() ? measurementUnit.checkSelectedValue(T_DefinedGroup)
+ : SR_EC_InvalidValue;
+}
+
+
+#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class TID1001_ObservationContext
* whilst the observations were being made (optional)
* @param procedureRoles the roles played by a device in a procedure (optional,
* multiple values allowed)
+ * @param stationAEtitle application entity title of the device (optional)
* @param check if enabled, check values for validity before setting them
** @return status, EC_Normal if successful, an error code otherwise
*/
const OFString &serialNumber = "",
const OFString &physicalLocation = "",
const DeviceParticipatingRolesList &procedureRoles = DeviceParticipatingRolesList(),
+ const OFString &stationAEtitle = "",
const OFBool check = OFTrue);
/** add content items for TID 1005 (Procedure Context)
};
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the SR template class
+typedef TID1001_ObservationContext CMR_TID1001;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class TID1204_LanguageOfContentItemAndDescendants
*---------------------*/
/** Implementation of DCMR Template:
- * TID 1204 - Language of Content Item and Descendants
+ * TID 1204 - Language of Content Item and Descendants.
* All added content items are annotated with a text in the format "TID 1204 - Row [n]".
*/
class DCMTK_CMR_EXPORT TID1204_LanguageOfContentItemAndDescendants
};
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the SR template class
+typedef TID1204_LanguageOfContentItemAndDescendants CMR_TID1204;
+
+
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class TID1411_VolumetricROIMeasurements
+ *
+ * Author: Joerg Riesmeier
+ *
+ */
+
+
+#ifndef CMR_TID1411_H
+#define CMR_TID1411_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrstpl.h"
+
+#include "dcmtk/dcmsr/cmr/define.h"
+#include "dcmtk/dcmsr/cmr/srnumvlu.h"
+
+
+// include this file in doxygen documentation
+
+/** @file tid1411.h
+ * @brief Interface class and error constants for TID 1411 in module dcmsr/cmr
+ */
+
+
+/*------------------------*
+ * constant definitions *
+ *------------------------*/
+
+/** @name specific error conditions for TID 1411 in module dcmsr/cmr
+ */
+//@{
+
+/// error: there is no measurement group to add entries to
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoMeasurementGroup;
+/// error: the given segmentation object does not conform to the template constraints
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_InvalidSegmentationObject;
+/// error: the given DICOM object is not a real world value mapping object
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_InvalidRealWorldValueMappingObject;
+
+//@}
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Implementation of DCMR Template:
+ * TID 1411 - Volumetric ROI Measurements (and included templates 1502 and 1419).
+ * All added content items are annotated with a text in the format "TID 1411 - Row [n]".
+ ** @tparam T_Measurement concept names for the numeric measurements (context group)
+ * @tparam T_Units units of the numeric measurement values (context group)
+ * @tparam T_Method methods used for measuring the values (context group)
+ * @tparam T_Derivation methods of deriving or calculating the values (context group)
+ ** @note Please note that currently only the mandatory (and some optional/conditional)
+ * content items and included templates are supported.
+ * @note Also note that this template class requires explicit instantiation for those
+ * combinations of the template parameters that are actually used. This is
+ * because the implementation is "hidden" in a separate source file, which has
+ * some advantages over the usual header-only approach.
+ */
+template<typename T_Measurement, typename T_Units, typename T_Method, typename T_Derivation>
+class DCMTK_CMR_EXPORT TID1411_VolumetricROIMeasurements
+ : public DSRSubTemplate
+{
+
+ public:
+
+ // type definition
+ typedef CMR_SRNumericMeasurementValueWithUnits<T_Units> MeasurementValue;
+
+ /** (default) constructor
+ ** @param createGroup flag indicating whether to create an empty measurement group
+ * by calling createMeasurementGroup() during startup
+ */
+ TID1411_VolumetricROIMeasurements(const OFBool createGroup = OFFalse);
+
+ /** check whether the current internal state is valid.
+ * That means, whether the base class is valid and whether all mandatory content
+ * items and included templates are valid, i.e. hasMeasurementGroup(),
+ * hasTrackingIdentifier(), hasTrackingUniqueIdentifier(), hasReferencedSegment(),
+ * hasSourceSeriesForSegmentation() and hasROIMeasurements() return true.
+ ** @return OFTrue if valid, OFFalse otherwise
+ */
+ OFBool isValid() const;
+
+ /** check whether the 'Measurement Group' content item (TID 1411 - Row 1) is present.
+ * Initially, this mandatory content item is created by the constructor of this
+ * class (if not disabled). After clear() has been called, it can be created again
+ * by calling createMeasurementGroup().
+ ** @param checkChildren optional flag indicating whether to also check for any
+ * children, i.e.\ whether the respective content item has
+ * child nodes. By default, the presence of the higher-level
+ * CONTAINER is checked only.
+ ** @return OFTrue if the measurement group is present, OFFalse otherwise
+ */
+ OFBool hasMeasurementGroup(const OFBool checkChildren = OFFalse) const;
+
+ /** check whether the 'Tracking Identifier' content item (TID 1411 - Row 2) is
+ * present. This content item is mandatory, i.e. should be present with a value.
+ ** @return OFTrue if the tracking identifier is present, OFFalse otherwise
+ */
+ OFBool hasTrackingIdentifier() const;
+
+ /** check whether the 'Tracking Unique Identifier' content item (TID 1411 - Row 3) is
+ * present. This content item is mandatory, i.e. should be present with a value.
+ ** @return OFTrue if the tracking unique identifier is present, OFFalse otherwise
+ */
+ OFBool hasTrackingUniqueIdentifier() const;
+
+ /** check whether the 'Referenced Segment' content item (TID 1411 - Row 7) is present.
+ * This content item is conditional, but should be present to meet the conditions.
+ ** @return OFTrue if the referenced segment is present, OFFalse otherwise
+ */
+ OFBool hasReferencedSegment() const;
+
+ /** check whether the 'Source Series for Segmentation' content item (TID 1411 -
+ * Row 12) is present. This content item is conditional, but should be present to
+ * meet the conditions.
+ ** @return OFTrue if source series for segmentation is present, OFFalse otherwise
+ */
+ OFBool hasSourceSeriesForSegmentation() const;
+
+ /** check whether there is an included 'ROI Measurements' template (TID 1411 -
+ * Row 15) in this measurement template. This included template is mandatory.
+ ** @return OFTrue if ROI measurements are present, OFFalse otherwise
+ */
+ OFBool hasROIMeasurements() const;
+
+ /** set the value of the 'Activity Session' content item (TID 1411 - Row 1b).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param session identifier of the session during which the measurements were made
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setActivitySession(const OFString &session,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Tracking Identifier' content item (TID 1411 - Row 2).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param trackingID a text label used for tracking a finding or feature
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setTrackingIdentifier(const OFString &trackingID,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Tracking Unique Identifier' content item (TID 1411 - Row 3).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param trackingUID a unique identifier used for tracking a finding or feature
+ * (associated DICOM VR=UI)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setTrackingUniqueIdentifier(const OFString &trackingUID,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Finding' content item (TID 1411 - Row 3b).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param finding coded entry that describes the type of the finding
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setFinding(const DSRCodedEntryValue &finding,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Time Point' content item (TID 1502 - Row 3).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param timePoint a short pre-defined label that is human-readable
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setTimePoint(const OFString &timePoint,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Referenced Segment' content item (TID 1411 - Row 7).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param segment reference to a segmentation object with a single selected
+ * segment; specifically the pixels or voxels identified as
+ * belonging to the classification of the identified segment
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setReferencedSegment(const DSRImageReferenceValue &segment,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Referenced Segment' content item (TID 1411 - Row 7).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ * If 'copyTracking' is enabled and the 'dataset' contains appropriate tracking
+ * information for the given 'segmentNumber', setTrackingIdentifier() and
+ * setTrackingUniqueIdentifier() are also called by this method.
+ ** @param dataset DICOM dataset from which the values for the referenced
+ * segment (e.g. SOP class UID and SOP instance UID) should
+ * be retrieved
+ * @param segmentNumber number of the segment that should be referenced. The
+ * value is only checked when 'copyTracking' is enabled.
+ * @param copyTracking flag indicating whether to copy tracking information
+ * (tracking ID and UID) from the 'dataset', if available
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setReferencedSegment(DcmItem &dataset,
+ const Uint16 segmentNumber,
+ const OFBool copyTracking = OFTrue,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Source series for segmentation' content item (TID 1411 -
+ * Row 12). A measurement group is created automatically (if none is present).
+ * If the content item already exists, its value is overwritten.
+ ** @param seriesUID the unique identifier of the source series of images that
+ * were segmented to identify the ROI (associated DICOM VR=UI)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setSourceSeriesForSegmentation(const OFString &seriesUID,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Real World Value Map used for measurement' content item
+ * (TID 1411 - Row 14). A measurement group is created automatically (if none is
+ * present). If the content item already exists, its value is overwritten.
+ ** @param valueMap reference to a real world value mapping object applied to the
+ * stored image pixel values before their use for a measurement
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setRealWorldValueMap(const DSRCompositeReferenceValue &valueMap,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Real World Value Map used for measurement' content item
+ * (TID 1411 - Row 14). A measurement group is created automatically (if none is
+ * present). If the content item already exists, its value is overwritten.
+ ** @param dataset DICOM dataset from which the values for the reference to a
+ * real world value mapping object (SOP class UID and SOP instance
+ * UID) should be retrieved
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setRealWorldValueMap(DcmItem &dataset,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Measurement Method' content item (TID 1419 - Row 1).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param method coded entry describing the method used for measuring the values
+ * (e.g.\ from the given context group 'T_Method')
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setMeasurementMethod(const T_Method &method,
+ const OFBool check = OFTrue);
+
+ /** set the value of the 'Finding Site' content item (TID 1419 - Row 2).
+ * A measurement group is created automatically (if none is present). If the
+ * content item already exists, its value is overwritten.
+ ** @param site coded entry describing the anatomic location of the measurements
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setFindingSite(const DSRCodedEntryValue &site,
+ const OFBool check = OFTrue);
+
+ /** add a measurement as defined in 'ROI Measurements' (TID 1419 - Row 5, 7 and 8).
+ * There should be at least a single instance of the associated template.
+ ** @param conceptName coded entry specifying the concept name of the measurement
+ * (e.g.\ from the given context group 'T_Measurement')
+ * @param numericValue numeric measurement value to be set. The measurement unit
+ * could be taken from the baseline context group 'T_Units'.
+ * @param method optional method used for measuring the value
+ * (e.g.\ from the given context group 'T_Method')
+ * @param derivation optional method of deriving or calculating the value
+ * (e.g.\ from the context group 'T_Derivation')
+ * @param check if enabled, check value for validity before setting it
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addMeasurement(const T_Measurement &conceptName,
+ const MeasurementValue &numericValue,
+ const T_Method &method = T_Method(),
+ const T_Derivation &derivation = T_Derivation(),
+ const OFBool check = OFTrue);
+
+
+ protected:
+
+ /** create the mandatory root content item of this template, i.e.\ TID 1411 - Row 1.
+ * It is expected that the tree is currently empty.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition createMeasurementGroup();
+
+ /** add a new or replace an existing content item with a given node ID.
+ * If the content item does not exist, it is added to the measurement group, i.e.
+ * below the root node. If it does exist, both the 'valueType' and 'conceptName'
+ * are checked before replacing the value. However, the value is not replaced by
+ * this method. This is up to the caller after this method returned with success.
+ ** @param nodePos index of the list entry that stores the ID of the node
+ * to search for
+ * @param relationshipType relationship type of the content item to be added/replaced
+ * @param valueType value type of the content item to be added/replaced
+ * @param conceptName concept name of the content item to be added/replaced
+ * @param annotationText optional text used to annotate the content item
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addOrReplaceContentItem(const size_t nodePos,
+ const E_RelationshipType relationshipType,
+ const E_ValueType valueType,
+ const DSRCodedEntryValue &conceptName,
+ const OFString &annotationText,
+ const OFBool check);
+};
+
+
+#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file for class TID1500_MeasurementReport
+ *
+ * Author: Joerg Riesmeier
+ *
+ */
+
+
+#ifndef CMR_TID1500_H
+#define CMR_TID1500_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrrtpl.h"
+#include "dcmtk/dcmsr/dsrstpl.h"
+
+#include "dcmtk/dcmsr/cmr/define.h"
+#include "dcmtk/dcmsr/cmr/tid1001.h"
+#include "dcmtk/dcmsr/cmr/tid1204.h"
+#include "dcmtk/dcmsr/cmr/tid1411.h"
+#include "dcmtk/dcmsr/cmr/tid1600.h"
+#include "dcmtk/dcmsr/cmr/cid100.h"
+#include "dcmtk/dcmsr/cmr/cid6147.h"
+#include "dcmtk/dcmsr/cmr/cid7021.h"
+#include "dcmtk/dcmsr/cmr/cid7181.h"
+#include "dcmtk/dcmsr/cmr/cid7464.h"
+#include "dcmtk/dcmsr/cmr/cid7469.h"
+
+
+// include this file in doxygen documentation
+
+/** @file tid1500.h
+ * @brief Interface class and error constants for TID 1500 in module dcmsr/cmr
+ */
+
+
+/*------------------------*
+ * constant definitions *
+ *------------------------*/
+
+/** @name specific error conditions for TID 1500 in module dcmsr/cmr
+ */
+//@{
+
+/// error: there is no measurement report to add content items to
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoMeasurementReport;
+
+//@}
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Implementation of DCMR Template:
+ * TID 1500 - Measurement Report (and included templates 1204, 1001, 1600, 1411).
+ * All added content items are annotated with a text in the format "TID 1500 - Row [n]".
+ ** @note Please note that currently only the mandatory (and some optional/conditional)
+ * content items and included templates are supported.
+ */
+class DCMTK_CMR_EXPORT TID1500_MeasurementReport
+ : public DSRRootTemplate
+{
+
+ public:
+
+ // type definition
+ typedef TID1411_VolumetricROIMeasurements<CID7469_GenericIntensityAndSizeMeasurements,
+ CID7181_AbstractMultiDimensionalImageModelComponentUnits,
+ CID6147_ResponseCriteria,
+ CID7464_GeneralRegionOfInterestMeasurementModifiers>
+ TID1411_Measurements;
+
+ /** (default) constructor.
+ * Also creates an initial, almost empty measurement report by calling
+ * createNewMeasurementReport(), but only if a non-empty 'title' is passed.
+ ** @param title optional document title to be set (from CID 7021 - Measurement
+ * Report Document Titles), i.e.\ the concept name of the root node
+ */
+ TID1500_MeasurementReport(const CID7021_MeasurementReportDocumentTitles &title = CID7021_MeasurementReportDocumentTitles());
+
+ /** clear internal member variables.
+ * Also see notes on the clear() method of the base class.
+ */
+ virtual void clear();
+
+ /** check whether the current internal state is valid.
+ * That means, check whether the base class is valid, the mandatory included
+ * templates TID 1204, 1001 and 1600 are valid, and whether hasProcedureReported()
+ * as well as hasImagingMeasurements() or hasQualitativeEvaluations() return true.
+ ** @return OFTrue if valid, OFFalse otherwise
+ */
+ virtual OFBool isValid() const;
+
+ /** check whether there are any 'Procedure reported' content items (TID 1500 - Row 4)
+ * in this measurement report. This content item is mandatory, i.e. one or more
+ * instances of the associated content item should be present.
+ ** @return OFTrue if at least one procedure reported is present, OFFalse otherwise
+ */
+ OFBool hasProcedureReported() const;
+
+ /** check whether there is an included 'Volumetric ROI Measurements' template
+ * (TID 1500 - Row 8) in this measurement report. Initially, this optional
+ * sub-template is created and included by the constructor of this class. After
+ * clear() has been called or no document title is passed to the constructor, it
+ * can be created again by calling createNewMeasurementReport().
+ ** @param checkChildren optional flag indicating whether to also check for any
+ * children, i.e.\ whether the respective sub-template has
+ * any content (child nodes). By default, the presence of
+ * the "included template" content item is checked only.
+ ** @return OFTrue if volumetric ROI measurements are present, OFFalse otherwise
+ */
+ OFBool hasVolumetricROIMeasurements(const OFBool checkChildren = OFFalse) const;
+
+ /** check whether there is an 'Imaging Measurements' content item (TID 1500 - Row 6)
+ * in this measurement report. Initially, this conditional content item is created
+ * by the constructor of this class. After clear() has been called or no document
+ * title is passed to the constructor, it can be created again by calling
+ * createNewMeasurementReport().
+ ** @param checkChildren optional flag indicating whether to also check for any
+ * children, i.e.\ whether the respective content item has
+ * child nodes. By default, the presence of the higher-level
+ * CONTAINER is checked only.
+ ** @return OFTrue if imaging measurements are present, OFFalse otherwise
+ */
+ OFBool hasImagingMeasurements(const OFBool checkChildren = OFFalse) const;
+
+ /** check whether there is an 'Qualitative Evaluations' content item (TID 1500 -
+ * Row 12) in this measurement report
+ ** @param checkChildren optional flag indicating whether to also check for any
+ * children, i.e.\ whether the respective content item has
+ * child nodes. By default, the presence of the higher-level
+ * CONTAINER is checked only.
+ ** @return OFTrue if qualitative evaluations are present, OFFalse otherwise
+ */
+ OFBool hasQualitativeEvaluations(const OFBool checkChildren = OFFalse) const;
+
+ /** get language of this report as defined by TID 1204 (Language of Content Item and
+ * Descendants). This included template is mandatory, i.e. should not be empty.
+ ** @return reference to internally managed SR template
+ */
+ inline TID1204_LanguageOfContentItemAndDescendants &getLanguage() const
+ {
+ return *OFstatic_cast(TID1204_LanguageOfContentItemAndDescendants *, Language.get());
+ }
+
+ /** get observation context of this report as defined by TID 1001 (Observation
+ * Context). This included template is mandatory, i.e. should not be empty.
+ ** @return reference to internally managed SR template
+ */
+ inline TID1001_ObservationContext &getObservationContext() const
+ {
+ return *OFstatic_cast(TID1001_ObservationContext *, ObservationContext.get());
+ }
+
+ /** get image library of this report as defined by TID 1600 (Image Library).
+ * This included template is mandatory, i.e. should not be empty.
+ ** @return reference to internally managed SR template
+ */
+ inline TID1600_ImageLibrary &getImageLibrary() const
+ {
+ return *OFstatic_cast(TID1600_ImageLibrary *, ImageLibrary.get());
+ }
+
+ /** get volumetric ROI measurements of this report as defined by TID 1411 (Volumetric
+ * ROI Measurements), i.e.\ the current instance of TID 1500 - Row 8.
+ * This included template is optional, i.e. might be empty (but not absent).
+ * Further instances can be added by calling addVolumetricROIMeasurements().
+ ** @return reference to internally managed SR template (current instance)
+ */
+ inline TID1411_Measurements &getVolumetricROIMeasurements() const
+ {
+ return *OFstatic_cast(TID1411_Measurements *, VolumetricROIMeasurements.get());
+ }
+
+ /** get document title of this report, i.e.\ the concept name of the root node
+ ** @param titleCode coded entry that specifies the document title of this report
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getDocumentTitle(DSRCodedEntryValue &titleCode);
+
+ /** create a new measurement report.
+ * Clear the report and create the mandatory (and other supported) content items of
+ * this template, i.e.\ TID 1500 - Row 1 to 6 and 8.
+ ** @param title document title to be set (from CID 7021 - Measurement Report
+ * Document Titles), i.e.\ the concept name of the root node
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition createNewMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title);
+
+ /** set language of this report as defined by TID 1204 (Language of Content Item and
+ * Descendants)
+ ** @param language language of the report, being a language that is primarily
+ * used for human communication (from CID 5000 - Languages)
+ * @param country coded entry that describes the country-specific variant of
+ * 'language' (optional, from CID 5001 - Countries)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setLanguage(const CID5000_Languages &language,
+ const CID5001_Countries &country = CID5001_Countries(),
+ const OFBool check = OFTrue);
+
+ /** add the imaging procedure whose results are reported (TID 1500 - Row 4).
+ * There should be at least a single instance of the associated content item.
+ ** @param procedure coded entry that describes the imaging procedure to be added
+ * (from CID 100 - Quantitative Diagnostic Imaging Procedures)
+ * @param check if enabled, check value for validity before setting it
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addProcedureReported(const CID100_QuantitativeDiagnosticImagingProcedures &procedure,
+ const OFBool check = OFTrue);
+
+ /** create another instance of TID 1411 (Volumetric ROI Measurements) and add it as
+ * an included template to this report (TID 1500 - Row 8). A first instance of
+ * TID 1411 is created and added by calling createNewMeasurementReport(). Access
+ * to the current instance is available through getVolumetricROIMeasurements().
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addVolumetricROIMeasurements();
+
+ /** add a qualitative evaluation related to the entire subject of the report as a
+ * coded entry (TID 1500 - Row 13). The higher-level CONTAINER (Row 12) is created
+ * automatically (if none is present).
+ ** @param conceptName coded entry to be set as the concept name
+ * @param codeValue coded entry to be set as the value of the new content item
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addQualitativeEvaluation(const DSRCodedEntryValue &conceptName,
+ const DSRCodedEntryValue &codeValue,
+ const OFBool check = OFTrue);
+
+ /** add a qualitative evaluation related to the entire subject of the report in
+ * text form (TID 1500 - Row 14). The higher-level CONTAINER (Row 12) is created
+ * automatically (if none is present).
+ ** @param conceptName coded entry to be set as the concept name
+ * @param stringValue character string to be set as the value of the content item
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition addQualitativeEvaluation(const DSRCodedEntryValue &conceptName,
+ const OFString &stringValue,
+ const OFBool check = OFTrue);
+
+
+ protected:
+
+ /** create the mandatory (and other supported) content items of this template,
+ * i.e.\ TID 1500 - Row 1 to 6 and 8. It is expected that the tree is currently
+ * empty.
+ ** @param title coded entry that specifies the document title to be set
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition createMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title);
+
+ /** create the 'Qualitative Evaluations' content item (TID 1500 - Row 12) if not
+ * existing yet
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition createQualitativeEvaluations();
+
+
+ private:
+
+ // shared pointer to included template "Language of Content Item and Descendants" (TID 1204)
+ DSRSharedSubTemplate Language;
+ // shared pointer to included template "Observation Context" (TID 1001)
+ DSRSharedSubTemplate ObservationContext;
+ // shared pointer to included template "Image Library" (TID 1600)
+ DSRSharedSubTemplate ImageLibrary;
+ // shared pointer to included template "Volumetric ROI Measurements" (TID 1411)
+ DSRSharedSubTemplate VolumetricROIMeasurements;
+};
+
+
+/*--------------------*
+ * type definitions *
+ *--------------------*/
+
+// define short names for the SR template classes
+typedef TID1500_MeasurementReport CMR_TID1500;
+typedef TID1500_MeasurementReport::TID1411_Measurements CMR_TID1411_in_TID1500;
+
+
+#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class TID1600_ImageLibrary
#include "dcmtk/dcmsr/dsrstpl.h"
#include "dcmtk/dcmsr/cmr/define.h"
+#include "dcmtk/dcmsr/cmr/cid4020.h"
+#include "dcmtk/dcmsr/cmr/cid4021.h"
+#include "dcmtk/dcmsr/cmr/srnumvl.h"
-/*-----------------------*
+// include this file in doxygen documentation
+
+/** @file tid1600.h
+ * @brief Interface class and error constants for TID 1600 in module dcmsr/cmr
+ */
+
+
+/*------------------------*
* constant definitions *
- *-----------------------*/
+ *------------------------*/
/** @name specific error conditions for TID 1600 in module dcmsr/cmr
*/
//@{
+/// error: there is no image library to add image groups to
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibrary;
/// error: there is no image library group to add image entries to
extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibraryGroup;
+/// error: there is no image library entry to add descriptors to
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibraryEntry;
/// error: cannot add multiple image library entry descriptors (see TID 1600 Row 3)
extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors;
+/// error: the current (most recently added) image library entry has no modality descriptor
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_MissingImageLibraryEntryDescriptorModality;
+/// error: the current (most recently added) image library entry has the wrong modality descriptor
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_WrongImageLibraryEntryDescriptorModality;
+/// normal: there are no image library entry descriptors to be added (copied from the dataset)
+extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded;
//@}
withAllDescriptors
};
- /** default constructor
+ /** (default) constructor
+ ** @param createLibrary flag indicating whether to create an empty image library
+ * by calling createImageLibrary() during startup (default)
+ */
+ TID1600_ImageLibrary(const OFBool createLibrary = OFTrue);
+
+ /** check whether the current internal state is valid.
+ * That means, whether the base class is valid and hasImageLibrary() returns true.
+ ** @return OFTrue if valid, OFFalse otherwise
+ */
+ virtual OFBool isValid() const;
+
+ /** check whether the content item 'Image Library' (TID 1600 - Row 1) is present.
+ * Initially, this mandatory content item is created by the constructor of this
+ * class (if not disabled). After clear() has been called, it can be created again
+ * by calling createNewImageLibrary().
+ ** @return OFTrue if the image library is present, OFFalse otherwise
+ */
+ OFBool hasImageLibrary() const;
+
+ /** check whether there is an image group in this image library (TID 1600 - Row 2)
+ ** @return OFTrue if at least one image group is present, OFFalse otherwise
+ */
+ OFBool hasImageLibraryGroup() const;
+
+ /** clear the internally stored tree of content items and create the mandatory
+ * content item 'Image Library' (TID 1600 - Row 1) as the root node of this template
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- TID1600_ImageLibrary();
+ OFCondition createNewImageLibrary();
/** add an image group to the image library
** @return status, EC_Normal if successful, an error code otherwise
/** add an image entry to the current image group, i.e.\ add content items for
* TID 1601 (Image Library Entry). The values of the content items (including
* the image reference) are copied from the data elements of the given 'dataset'.
+ * If no descriptors were added, CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded
+ * is returned.
** @param dataset DICOM dataset from which the values should be copied
* @param mode mode specifying which optional content items are to be added
* @param check if enabled, check values for validity before setting them
const AddImageMode mode = withoutDescriptors,
const OFBool check = OFTrue);
- /** add an image entry descriptors to the current image group, i.e.\ add content
+ /** add image entry descriptors to the current image group, i.e.\ add content
* items for TID 1602 (Image Library Entry Descriptors) and included templates.
* The values of the content items are copied from the data elements of the given
- * 'dataset'.
+ * 'dataset'. If none were added, CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded
+ * is returned.
* Please note that this method should only be called once for each image group.
** @param dataset DICOM dataset from which the values should be copied
* @param check if enabled, check values for validity before setting them
OFCondition addImageEntryDescriptors(DcmItem &dataset,
const OFBool check = OFTrue);
+ /** go to the most recently added image library entry and get the value of the
+ * descriptor 'Modality' (TID 1602 - Row 1)
+ ** @param modalityCode reference to coded entry that will store the result
+ * (cleared if an error occurs)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition getImageEntryModality(DSRCodedEntryValue &modalityCode);
+
+ // --- set modality-specific content manually ---
+
+ /** set the value of the descriptor 'Radionuclide' (TID 1607 - Row 1) for the current
+ * (most recently added) PET image library entry.
+ * If the content item already exists, its value is overwritten. Otherwise, a new
+ * content item is added to the end of the list of image library entry descriptors.
+ ** @param radionuclide coded entry to be set (from CID 4020 - PET Radionuclide)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPETImageRadionuclide(const CID4020_PETRadionuclide &radionuclide,
+ const OFBool check = OFTrue);
+
+ /** set the value of the descriptor 'Radiopharmaceutical Agent' (TID 1607 - Row 2)
+ * for the current (most recently added) PET image library entry.
+ * If the content item already exists, its value is overwritten. Otherwise, a new
+ * content item is added to the end of the list of image library entry descriptors.
+ ** @param agent coded entry to be set (from CID 4021 - PET Radiopharmaceutical)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPETImageRadiopharmaceuticalAgent(const CID4021_PETRadiopharmaceutical &agent,
+ const OFBool check = OFTrue);
+
+ /** set the value of the descriptor 'Radiopharmaceutical Start Date Time' (TID 1607 -
+ * Row 4) for the current (most recently added) PET image library entry.
+ * If the content item already exists, its value is overwritten. Otherwise, a new
+ * content item is added to the end of the list of image library entry descriptors.
+ ** @param dateTime date/time value to be set (associated DICOM VR=DT)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPETImageRadiopharmaceuticalStartDateTime(const OFString &dateTime,
+ const OFBool check = OFTrue);
+
+ /** set the value of the descriptor 'Radiopharmaceutical Stop Date Time' (TID 1607 -
+ * Row 5) for the current (most recently added) PET image library entry.
+ * If the content item already exists, its value is overwritten. Otherwise, a new
+ * content item is added to the end of the list of image library entry descriptors.
+ ** @param dateTime date/time value to be set (associated DICOM VR=DT)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPETImageRadiopharmaceuticalStopDateTime(const OFString &dateTime,
+ const OFBool check = OFTrue);
+
+ /** set the value of the descriptor 'Radiopharmaceutical Volume' (TID 1607 - Row 6)
+ * for the current (most recently added) PET image library entry.
+ * If the content item already exists, its value is overwritten. Otherwise, a new
+ * content item is added to the end of the list of image library entry descriptors.
+ ** @param volume numeric measurement value to be set (measurement unit should be
+ * CODE_UCUM_cm3 or a coded entry that is identical to this)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPETImageRadiopharmaceuticalVolume(const CMR_SRNumericMeasurementValue &volume,
+ const OFBool check = OFTrue);
+
+ /** set the value of the descriptor 'Radiopharmaceutical Total Dose' (TID 1607 -
+ * Row 7) for the current (most recently added) PET image library entry.
+ * If the content item already exists, its value is overwritten. Otherwise, a new
+ * content item is added to the end of the list of image library entry descriptors.
+ ** @param totalDose numeric measurement value to be set (measurement unit should
+ * be CODE_UCUM_Bq or a coded entry that is identical to this)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setPETImageRadionuclideTotalDose(const CMR_SRNumericMeasurementValue &totalDose,
+ const OFBool check = OFTrue);
+
protected:
+ /** create the mandatory content item 'Image Library' (TID 1600 - Row 1) as the root
+ * node of this template. It is expected that the tree is currently empty.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition createImageLibrary();
+
/** add image library entry descriptors (TID 1602) to given document subtree.
* This method also calls addModalitySpecificDescriptors() in order to add the
* included templates (TID 1603 to 1607).
const OFBool check);
/** add image library entry descriptors for PET (TID 1607).
- * @note The template rows 9 to 14 are not yet supported by this method.
+ * @note The template rows 10 to 15 are not yet supported by this method.
** @param tree subtree to which the content items should be added
* @param dataset DICOM dataset from which the values should be copied
* @param check if enabled, check values for validity before setting them
DcmItem &dataset,
const OFBool check);
+ /** go to the most recently added image library entry and check the value of the
+ * descriptor 'Modality' (TID 1602 - Row 1)
+ ** @param modalityCode coded entry (from CID 29) associated with the modality.
+ * Used to check the image library entry.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition goAndCheckImageLibraryEntry(const DSRCodedEntryValue &modalityCode);
+
+ /** search for a particular content item (given by the concept name and value type)
+ * and set its string value. If not found, a new content item is added to the
+ * current position and the value is set.
+ ** @param valueType value type of the content item to be set/added
+ * @param conceptName concept name of the content item to be set/added
+ * @param stringValue string value of the content item to be set/added
+ * @param annotationText text used to annotate the content item (might be empty)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setStringContentItemFromValue(const E_ValueType valueType,
+ const DSRCodedEntryValue &conceptName,
+ const OFString &stringValue,
+ const OFString &annotationText,
+ const OFBool check);
+
+ /** search for a particular CODE content item (given by the concept name) and set its
+ * coded entry value. If not found, a new content item is added to the current
+ * position and the value is set.
+ ** @param conceptName concept name of the content item to be set/added
+ * @param codeValue coded entry value of the content item to be set/added
+ * @param annotationText text used to annotate the content item (might be empty)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setCodeContentItemFromValue(const DSRCodedEntryValue &conceptName,
+ const DSRCodedEntryValue &codeValue,
+ const OFString &annotationText,
+ const OFBool check);
+
+ /** search for a particular NUM content item (given by the concept name) and set its
+ * numeric measurement value. If not found, a new content item is added to the
+ * current position and the value is set.
+ ** @param conceptName concept name of the content item to be set/added
+ * @param numericValue numeric measurement value of the content item to be
+ * set/added
+ * @param measurementUnit measurement unit that should be used by 'numericValue'
+ * (optional, might be empty). Used for checking purposes.
+ * @param annotationText text used to annotate the content item (might be empty)
+ * @param check if enabled, check values for validity before setting them
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setNumericContentItemFromValue(const DSRCodedEntryValue &conceptName,
+ const DSRNumericMeasurementValue &numericValue,
+ const DSRCodedEntryValue &measurementUnit,
+ const OFString &annotationText,
+ const OFBool check);
+
// --- static helper functions ---
/** add a content item with a string value copied from the given dataset.
const OFString &annotationText,
const OFBool check);
- /** add a content item with a coded entry value copied from the given dataset.
+ /** add a CODE content item with a coded entry value copied from the given dataset.
* The content item is only created and added to the subtree if the specified code
* sequence is present in the 'dataset' and its value is valid (not empty).
** @param tree subtree to which the content items should be added
const OFString &annotationText,
const OFBool check);
- /** add a content item with a numeric value copied from the given dataset.
+ /** add a NUM content item with a numeric value copied from the given dataset.
* The content item is only created and added to the subtree if the specified data
* element is present in the 'dataset' and its value (retrieved as a string) is not
* empty.
const DSRCodedEntryValue &measurementUnit,
const OFString &annotationText,
const OFBool check);
-
};
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+// define short name for the SR template class
+typedef TID1600_ImageLibrary CMR_TID1600;
+
+
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file with DICOM Code Definitions (Coding Scheme "DCM", Version "01")
*
* Generated automatically from DICOM PS 3.16-2015c
* File created on 2015-08-23 14:58:58 by J. Riesmeier
+ * Last modified on 2016-01-25 by Riesmeier
*
*/
#define CODE_DCM_IEC61217GantryContinuousPitchAngle DSRBasicCodedEntry("126810", "DCM", "IEC61217 Gantry Continuous Pitch Angle")
#define CODE_DCM_IEC61217GantryContinuousYawAngle DSRBasicCodedEntry("126811", "DCM", "IEC61217 Gantry Continuous Yaw Angle")
+// recently approved correction items
+
+#define CODE_DCM_StationAETitle DSRBasicCodedEntry("110119", "DCM", "Station AE Title") // added from CP-1516
+
+
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Header file with NCIt Code Definitions (Coding Scheme "NCIt")
+ *
+ * Generated semi-automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-12 18:02:09 by J. Riesmeier
+ *
+ */
+
+
+#ifndef CODES_NCIT_H
+#define CODES_NCIT_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrcodvl.h"
+
+
+/*-----------------------*
+ * general information *
+ *-----------------------*/
+
+#define CODE_NCIt_CodingSchemeDesignator "NCIt"
+#define CODE_NCIt_CodingSchemeName "NCIt"
+#define CODE_NCIt_CodingSchemeDescription "NCI Thesaurus"
+#define CODE_NCIt_CodingSchemeUID "2.16.840.1.113883.3.26.1.1"
+
+
+/*--------------------*
+ * code definitions *
+ *--------------------*/
+
+// total number of codes: 2
+// - retired: 0
+// - no name: 0
+// - not unique: 0
+
+// The basic scheme for creating the names is as follows:
+// 'CODE_' + <coding-scheme-designator> + ['_RETIRED'] + '_' + <code-name>
+// where <coding-scheme-designator> is "NCIt" and <code-name> is either
+// - a cleaned camel-case version of the code meaning (if unique within this coding scheme) or
+// - a cleaned camel-case version of the code meaning with an underscore and the code value appended or
+// - simply the code value with an underscore character appended (if code meaning contains an equation).
+// The "cleaned camel-case version of the code meaning" is an attempt to map the free text
+// description of the code meaning to a compiler-friendly but still human-readable representation.
+
+#define CODE_NCIt_RANO DSRBasicCodedEntry("C114879", "NCIt", "RANO")
+#define CODE_NCIt_ActivitySession DSRBasicCodedEntry("C67447", "NCIt", "Activity Session") // added from CP-1466
+
+#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
*
* Header file with SNOMED-RT Code Definitions (Coding Scheme "SRT")
*
* Generated semi-automatically from DICOM PS 3.16-2015c
* File created on 2015-08-24 by J. Riesmeier
+ * Last modified on 2016-01-23 by Riesmeier
*
*/
// description of the code meaning to a compiler-friendly but still human-readable representation.
#define CODE_SRT_Radionuclide DSRBasicCodedEntry("C-10072", "SRT", "Radionuclide")
+#define CODE_SRT_18_Fluorine DSRBasicCodedEntry("C-111A1", "SRT", "^18^Fluorine")
+#define CODE_SRT_Fluorodeoxyglucose_F18 DSRBasicCodedEntry("C-B1031", "SRT", "Fluorodeoxyglucose F^18^")
#define CODE_SRT_RadiopharmaceuticalAgent DSRBasicCodedEntry("F-61FDB", "SRT", "Radiopharmaceutical agent")
-#define CODE_SRT_HalfLifeOfRadiopharmaceutical DSRBasicCodedEntry("R-42806", "SRT", "Half-life of radiopharmaceutical")
+#define CODE_SRT_MeasurementMethod DSRBasicCodedEntry("G-C036", "SRT", "Measurement Method")
+#define CODE_SRT_FindingSite DSRBasicCodedEntry("G-C0E3", "SRT", "Finding Site")
#define CODE_SRT_RouteOfAdministration DSRBasicCodedEntry("G-C340", "SRT", "Route of Administration")
+#define CODE_SRT_Neoplasm_Primary DSRBasicCodedEntry("M-80003", "SRT", "Neoplasm, Primary")
+#define CODE_SRT_Neoplasm_Secondary DSRBasicCodedEntry("M-80006", "SRT", "Neoplasm, Secondary")
+#define CODE_SRT_HalfLifeOfRadiopharmaceutical DSRBasicCodedEntry("R-42806", "SRT", "Half-life of radiopharmaceutical")
+#define CODE_SRT_AorticArch DSRBasicCodedEntry("T-42300", "SRT", "Aortic arch")
+#define CODE_SRT_Liver_T62000 DSRBasicCodedEntry("T-62000", "SRT", "Liver")
+#define CODE_SRT_Liver_T62002 DSRBasicCodedEntry("T-62002", "SRT", "Liver")
+#define CODE_SRT_Cerebellum DSRBasicCodedEntry("T-A6000", "SRT", "Cerebellum")
+#define CODE_SRT_LymphNode DSRBasicCodedEntry("T-C4000", "SRT", "Lymph node")
#endif
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
*
* Header file with UCUM Code Definitions (Coding Scheme "UCUM")
*
* Generated semi-automatically from DICOM PS 3.16-2015c
* File created on 2015-08-24 by J. Riesmeier
+ * Last modified on 2016-01-23 by Riesmeier
*
*/
// description of the code meaning to a compiler-friendly but still human-readable representation.
#define CODE_UCUM_Pixels DSRBasicCodedEntry("{pixels}", "UCUM", "pixels")
-#define CODE_UCUM_Degrees DSRBasicCodedEntry("deg", "UCUM", "degrees")
+#define CODE_UCUM_Degrees DSRBasicCodedEntry("deg", "UCUM", "deg")
#define CODE_UCUM_Minus1To1 DSRBasicCodedEntry("{-1:1}", "UCUM", "{-1:1}")
#define CODE_UCUM_Millimeter DSRBasicCodedEntry("mm", "UCUM", "millimeter")
-#define CODE_UCUM_Cm3 DSRBasicCodedEntry("cm3", "UCUM", "cm3")
-#define CODE_UCUM_S DSRBasicCodedEntry("s", "UCUM", "s")
-#define CODE_UCUM_Min DSRBasicCodedEntry("min", "UCUM", "min")
+#define CODE_UCUM_cm3 DSRBasicCodedEntry("cm3", "UCUM", "cm3")
+#define CODE_UCUM_ml DSRBasicCodedEntry("ml", "UCUM", "ml")
+#define CODE_UCUM_s DSRBasicCodedEntry("s", "UCUM", "s")
+#define CODE_UCUM_min DSRBasicCodedEntry("min", "UCUM", "min")
#define CODE_UCUM_Bq DSRBasicCodedEntry("Bq", "UCUM", "Bq")
#define CODE_UCUM_BqPerMol DSRBasicCodedEntry("Bq/mol", "UCUM", "Bq/mol")
-#define CODE_UCUM_MmolPerL DSRBasicCodedEntry("mmol/l", "UCUM", "mmol/l")
+#define CODE_UCUM_mmolPerL DSRBasicCodedEntry("mmol/l", "UCUM", "mmol/l")
#define CODE_UCUM_CountsPerSecond DSRBasicCodedEntry("{counts}/s", "UCUM", "Counts per second")
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ *
+ * Header file with UMLS Code Definitions (Coding Scheme "UMLS")
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2015-08-23 14:59:04 by J. Riesmeier
+ *
+ */
+
+
+#ifndef CODES_UMLS_H
+#define CODES_UMLS_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrcodvl.h"
+
+
+/*-----------------------*
+ * general information *
+ *-----------------------*/
+
+#define CODE_UMLS_CodingSchemeDesignator "UMLS"
+#define CODE_UMLS_CodingSchemeName "UMLS"
+#define CODE_UMLS_CodingSchemeDescription "UMLS codes as CUIs making up the values in a coding system"
+#define CODE_UMLS_CodingSchemeUID "2.16.840.1.113883.6.86"
+
+
+/*--------------------*
+ * code definitions *
+ *--------------------*/
+
+// total number of codes: 22
+// - retired: 0
+// - no name: 0
+// - not unique: 0
+
+// The basic scheme for creating the names is as follows:
+// 'CODE_' + <coding-scheme-designator> + ['_RETIRED'] + '_' + <code-name>
+// where <coding-scheme-designator> is "UMLS" and <code-name> is either
+// - a cleaned camel-case version of the code meaning (if unique within this coding scheme) or
+// - a cleaned camel-case version of the code meaning with an underscore and the code value appended or
+// - simply the code value with an underscore character appended (if code meaning contains an equation).
+// The "cleaned camel-case version of the code meaning" is an attempt to map the free text
+// description of the code meaning to a compiler-friendly but still human-readable representation.
+
+#define CODE_UMLS_QualitativeEvaluations DSRBasicCodedEntry("C0034375", "UMLS", "Qualitative Evaluations")
+#define CODE_UMLS_UnknownPrimaryNeoplasiaSite DSRBasicCodedEntry("C0221297", "UMLS", "unknown primary neoplasia site")
+#define CODE_UMLS_CoefficientOfVariance DSRBasicCodedEntry("C0681921", "UMLS", "Coefficient of Variance")
+#define CODE_UMLS_Intern DSRBasicCodedEntry("C1144859", "UMLS", "Intern")
+#define CODE_UMLS_ConsultingPhysician DSRBasicCodedEntry("C1441532", "UMLS", "Consulting Physician")
+#define CODE_UMLS_Baseline DSRBasicCodedEntry("C1442488", "UMLS", "Baseline")
+#define CODE_UMLS_Fluoroetanidazole_F18 DSRBasicCodedEntry("C1541539", "UMLS", "Fluoroetanidazole F^18^")
+#define CODE_UMLS_Unscheduled DSRBasicCodedEntry("C1699701", "UMLS", "Unscheduled")
+#define CODE_UMLS_Nadir DSRBasicCodedEntry("C1708760", "UMLS", "Nadir")
+#define CODE_UMLS_MedicalPhysicist DSRBasicCodedEntry("C1708969", "UMLS", "Medical Physicist")
+#define CODE_UMLS_Referring DSRBasicCodedEntry("C1709880", "UMLS", "Referring")
+#define CODE_UMLS_Variance DSRBasicCodedEntry("C1711260", "UMLS", "Variance")
+#define CODE_UMLS_Tyrosine3Octreotate_Ga68 DSRBasicCodedEntry("C1742831", "UMLS", "tyrosine-3-octreotate Ga^68^")
+#define CODE_UMLS_Fluoroestradiol_FES_F18 DSRBasicCodedEntry("C1831937", "UMLS", "Fluoroestradiol (FES) F^18^")
+#define CODE_UMLS_Sonographer DSRBasicCodedEntry("C1954848", "UMLS", "Sonographer")
+#define CODE_UMLS_RootMeanSquare DSRBasicCodedEntry("C2347976", "UMLS", "Root Mean Square")
+#define CODE_UMLS_TimePoint DSRBasicCodedEntry("C2348792", "UMLS", "Time Point")
+#define CODE_UMLS_Edotreotide_Ga68 DSRBasicCodedEntry("C2713594", "UMLS", "Edotreotide Ga^68^")
+#define CODE_UMLS_FluoropropylDihydrotetrabenazine_DTBZ_F18 DSRBasicCodedEntry("C2934038", "UMLS", "Fluoropropyl-dihydrotetrabenazine (DTBZ) F^18^")
+#define CODE_UMLS_ISO1_F18 DSRBasicCodedEntry("C2981788", "UMLS", "ISO-1 F^18^")
+#define CODE_UMLS_RadiationPhysicist DSRBasicCodedEntry("C2985483", "UMLS", "Radiation Physicist")
+#define CODE_UMLS_Pretreatment DSRBasicCodedEntry("C3539075", "UMLS", "Pretreatment")
+
+#endif
/*
*
- * Copyright (C) 2012-2014, OFFIS e.V.
+ * Copyright (C) 2012-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define DCMTK_DCMSR_EXPORT DCMTK_DECL_IMPORT
#endif
+#ifndef DCMTK_EXPLICIT_SPECIALIZATION
+#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
+#define DCMTK_EXPLICIT_SPECIALIZATION template<>
+#else
+#define DCMTK_EXPLICIT_SPECIALIZATION
+#endif
+#endif
+
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmsr
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose:
+ * classes: DSRAcquisitionContextConstraintChecker
+ *
+ */
+
+
+#ifndef DSRACQCC_H
+#define DSRACQCC_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsriodcc.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Class for checking the relationship content constraints of the Acquisition Context
+ * SR IOD.
+ * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 8001
+ * (Preclinical Small Animal Image Acquisition Context) invoked at the root node.
+ * Note: This IOD may be used with other Templates defined for Acquisition Context."
+ */
+class DCMTK_DCMSR_EXPORT DSRAcquisitionContextConstraintChecker
+ : public DSRIODConstraintChecker
+{
+
+ public:
+
+ /** default constructor
+ */
+ DSRAcquisitionContextConstraintChecker();
+
+ /** destructor
+ */
+ virtual ~DSRAcquisitionContextConstraintChecker();
+
+ /** check whether by-reference relationships are allowed for this SR IOD
+ ** @return always returns OFFalse, i.e. by-reference relationships are not allowed
+ */
+ virtual OFBool isByReferenceAllowed() const;
+
+ /** check whether this SR IOD requires template support
+ ** @return always returns OFFalse, i.e. template support is not required
+ */
+ virtual OFBool isTemplateSupportRequired() const;
+
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
+
+ /** get the associated document type of the SR IOD
+ ** @return document type (DSRTypes::DT_AcquisitionContextSR)
+ */
+ virtual E_DocumentType getDocumentType() const;
+
+ /** check whether specified content relationship is allowed for this IOD
+ ** @param sourceValueType value type of the source content item to be checked
+ * @param relationshipType type of relationship between source and target item
+ * @param targetValueType value type of the target content item to be checked
+ * @param byReference optional flag indicating whether the node/relationship
+ * should be added by-value (default) or by-reference
+ ** @return OFTrue if content relationship is allowed, OFFalse otherwise
+ */
+ virtual OFBool checkContentRelationship(const E_ValueType sourceValueType,
+ const E_RelationshipType relationshipType,
+ const E_ValueType targetValueType,
+ const OFBool byReference = OFFalse) const;
+};
+
+
+#endif
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return always returns NULL (no template required)
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_BasicTextSR)
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return always returns NULL (no template required)
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_Comprehensive3DSR)
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the Chest CAD SR IOD
+/** Class for checking the relationship content constraints of the Chest CAD SR IOD.
+ * According to DICOM PS 3.3: "The document shall be constructed from TID 4100
+ * (Chest CAD Document Root) invoked at the root node. When a content item sub-tree
+ * from a prior document is duplicated by-value, its observation context shall be
+ * defined by TID 1001 (Observation Context) and its subordinate templates."
*/
class DCMTK_DCMSR_EXPORT DSRChestCadSRConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "4100"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_ChestCadSR)
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
DSRCodedEntryValue &operator=(const DSRCodedEntryValue &codedEntryValue);
- /** comparison operator.
+ /** comparison operator "equal".
* Two codes are equal if the code value, coding scheme designator and the (optional)
* coding scheme version are equal. The code meaning is not relevant for this check.
** @param codedEntryValue code which should be compared to the current one
*/
OFBool operator==(const DSRCodedEntryValue &codedEntryValue) const;
- /** comparison operator.
+ /** comparison operator "not equal".
+ * Two codes are not equal if either the code value or the coding scheme designator
+ * or the (optional) coding scheme version are not equal. The code meaning is not
+ * relevant for this check.
+ ** @param codedEntryValue code which should be compared to the current one
+ ** @return OFTrue if both codes are not equal, OFFalse otherwise
+ */
+ OFBool operator!=(const DSRCodedEntryValue &codedEntryValue) const;
+
+ /** comparison operator "equal".
* Two codes are equal if the code value, coding scheme designator and the (optional)
* coding scheme version are equal. The code meaning is not relevant for this check.
** @param basicCodedEntry code which should be compared to the current one
*/
OFBool operator==(const DSRBasicCodedEntry &basicCodedEntry) const;
+ /** comparison operator "not equal".
+ * Two codes are not equal if either the code value or the coding scheme designator
+ * or the (optional) coding scheme version are not equal. The code meaning is not
+ * relevant for this check.
+ ** @param basicCodedEntry code which should be compared to the current one
+ ** @return OFTrue if both codes are not equal, OFFalse otherwise
+ */
+ OFBool operator!=(const DSRBasicCodedEntry &basicCodedEntry) const;
+
/** clear all internal variables.
* Since an empty code is invalid the code becomes invalid afterwards.
*/
*/
virtual OFBool isEmpty() const;
+ /** check whether the current code is complete, i.e.\ whether the three mandatory
+ * components of the code are non-empty. This is just a basic check that might be useful
+ * for "validating" input data. See isValid() for a more sophisticated way of checking
+ * the current code.
+ ** @return OFTrue if code is complete, OFFalse otherwise
+ */
+ virtual OFBool isComplete() const;
+
/** print code.
* The output of a typical code triple looks like this: (1234,99_OFFIS_DCMTK,"Code
* Meaning"). The optional coding scheme version is printed in square brackets directly
};
+/** output stream operator for coded entry values.
+ * Internally, the DSRCodedEntryValue::print() method is used, i.e. the output looks
+ * like this: (1234,99_OFFIS_DCMTK,"Code Meaning") or (cm,UCUM[1.4],"centimeter")
+ * @param stream output stream to which the coded entry value is printed
+ * @param codedEntryValue coded entry value to be printed
+ * @return reference to output stream
+ */
+DCMTK_DCMSR_EXPORT STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream,
+ const DSRCodedEntryValue& codedEntryValue);
+
+
#endif
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the Colon CAD SR IOD
+/** Class for checking the relationship content constraints of the Colon CAD SR IOD.
+ * According to DICOM PS 3.3: "The document shall be constructed from TID 4120
+ * (Colon CAD Document Root) invoked at the root node."
*/
class DCMTK_DCMSR_EXPORT DSRColonCadSRConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "4120"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_ColonCadSR)
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return always returns NULL (no template required)
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_ComprehensiveSR)
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
virtual OFBool isValid() const;
/** check whether the current reference value is empty.
- * Checks whether both UIDs of the reference value are empty.
+ * Checks whether both mandatory UIDs of the reference value are empty.
** @return OFTrue if value is empty, OFFalse otherwise
*/
virtual OFBool isEmpty() const;
+ /** check whether the current reference value is complete, i.e.\ whether both
+ * mandatory UIDs are non-empty. This is just a basic check that might be useful
+ * for "validating" input data. See isValid() for a more sophisticated way of
+ * checking the current reference value.
+ ** @return OFTrue if value is complete, OFFalse otherwise
+ */
+ virtual OFBool isComplete() const;
+
/** print reference value.
* The output of a typical composite reference value looks like this: (BasicTextSR,"1.2.3").
* If the SOP class UID is unknown, the UID is printed instead of the related name.
return SOPClassUID;
}
+ /** get name associated with the SOP class UID (if any)
+ ** @param defaultName string value that is returned if the SOP class UID is unknown
+ ** @return name associated with the current SOP class UID (might be empty, e.g. in case
+ * the SOP class UID is empty or 'defaultName' is an empty string)
+ */
+ const OFString getSOPClassName(const OFString &defaultName = "unknown SOP Class UID") const;
+
/** get SOP instance UID
** @return current SOP instance UID (might be invalid or an empty string)
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmsr/dsrtypes.h"
+#include "dcmtk/dcmsr/dsrdoctn.h"
/*-----------------------*
public:
+ /** clear non-static member variables
+ */
+ virtual void clear();
+
/** check whether template identification is set
** @return OFTrue if set, OFFalse otherwise
*/
return ExtensibleMode;
}
+ /** compare template identification with given values
+ ** @param templateIdentifier template identifier to compare with
+ * @param mappingResource mapping resource that defines the template
+ * @param mappingResourceUID uniquely identifies the mapping resource (optional).
+ * Not used for comparison if the value is empty.
+ ** @result OFTrue if template identification is identical, OFFalse otherwise
+ */
+ virtual OFBool compareTemplateIdentication(const OFString &templateIdentifier,
+ const OFString &mappingResource,
+ const OFString &mappingResourceUID = "") const;
+
/** get template identifier
** @return identifier of the template
*/
*/
virtual ~DSRTemplateCommon();
+ /** clear all entries in the list of node IDs, i.e.\ set them to their initial value,
+ * which is 0
+ */
+ void clearEntriesInNodeList();
+
/** reserve a certain number of entries in the list of node IDs. Using this method
* can help to avoid unwanted memory allocations and copying of list entries.
- ** @param count number of entries to be reserved (for later use)
+ ** @param count number of entries to be reserved (for later use)
+ * @param initialize initialize all entries with a value of 0 if OFTrue, just
+ * reserve but do not create them otherwise (default)
*/
- void reserveEntriesInNodeList(const size_t count);
+ void reserveEntriesInNodeList(const size_t count,
+ const OFBool initialize = OFFalse);
/** store given entry at a certain position in the list of node IDs
** @param pos index of the list entry to use for storage (starting from 0)
*/
size_t getEntryFromNodeList(const size_t pos) const;
+ /** set given cursor to a specific node
+ ** @param cursor reference to document tree node cursor that is used to start
+ * searching the node from and that is set afterwards
+ * @param pos index of the list entry that stores the ID of the node
+ ** @return ID of the new current node within the tree if successful, 0 otherwise
+ */
+ size_t gotoEntryFromNodeList(DSRDocumentTreeNodeCursor &cursor,
+ const size_t pos) const;
+
/** set internal cursor of a given document tree to a specific node
** @param tree pointer to document tree where nodes and cursor are stored
* @param pos index of the list entry that stores the ID of the node
* entry with a non-zero value (valid node ID) is found or the first list entry
* is reached. This approach in particular supports handling of template tables
* where the order of content items is significant.
- ** @param tree pointer to document tree where nodes and cursor are stored
- * @param lastPos index of the last node list entry to start searching from
+ ** @param tree pointer to document tree where nodes and cursor are stored
+ * @param lastPos index of the last node list entry to start searching from
+ * @param firstPos optional index of the node list entry to stop searching
** @return ID of the new current node within the tree if successful, 0 otherwise
*/
size_t gotoLastEntryFromNodeList(DSRDocumentSubTree *tree,
- const size_t lastPos);
+ const size_t lastPos,
+ const size_t firstPos = 0);
private:
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/** check whether context group is extensible
** @return OFTrue if extensible, OFFalse otherwise
*/
- virtual OFBool isExtensible() const
+ inline OFBool isExtensible() const
{
return ExtensibleMode;
}
/** change mode specifying whether the context group is extensible or non-extensible
** @param mode set context group type to extensible if OFTrue (default)
*/
- virtual void setExtensible(const OFBool mode = OFTrue)
+ inline void setExtensible(const OFBool mode = OFTrue)
{
ExtensibleMode = mode;
}
*/
virtual OFCondition findCodedEntry(const DSRCodedEntryValue &codedEntryValue) const;
+ /** check whether this context group has any extended coded entries.
+ * Extended coded entries are those non-standard codes added by addCodedEntry().
+ ** @return OFTrue if there are any extended coded entries, OFFalse otherwise
+ */
+ virtual OFBool hasExtendedCodedEntries() const;
+
/** add a coded entry to this context group as an extension, i.e.\ as a non-standard
* code. Adding a new coded entry by this method only works for extensible context
* groups. Please note that the 'codedEntryValue' is not checked for validity.
DSRCodedEntryValue *foundCodedEntry,
const OFBool enhancedEncodingMode = OFFalse) const;
- /** check whether the currently selected coded entry is valid.
+ /** check whether a given coded entry is valid.
* Internally, the method hasCodedEntry() is used if 'definedContextGroup' is OFTrue.
** @param codedEntryValue coded entry to be checked
* @param definedContextGroup flag indicating whether this context group is used as
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* Replace the currently stored document tree with the given one. Please note that the
* given 'tree' is checked before setting it, i.e. only a valid document tree is accepted.
* However, a new SOP instance is never created. If needed, this has to be done with
- * createNewSOPInstance() in addition to or with createNewDocument() before this method.
+ * createNewSOPInstance() in addition to or with createNewDocument() before this method
+ * is called.
** @param tree document tree to be set (content will be copied)
** @return status, EC_Normal if successful, an error code otherwise
*/
/** set document tree from root template.
* Replace the currently stored document tree with the one from the given root template.
- * This is just a convenience function, so the additional comments on the above setTree()
- * method also apply.
+ * By default, this method expands the tree, i.e. instances of DSRIncludedTemplateTreeNode
+ * that were added to the tree with DSRDocumentSubTree::includeTemplate() are replaced by
+ * their content, i.e. by the internally managed subtree.
+ * Please note that the additional comments on the above setTree() method also apply.
** @param rootTemplate template specifying the document tree to be set (content will be
* copied). This parameter cannot be "const" because of
* DSRRootTemplate::getTree(), which is called internally and which
* modifies the tree.
+ * @param expandTree optional flag that allows for disabling the expanding of the
+ * document tree before setting it. Please note that various
+ * output methods like write() or renderHTML() do not yet work on
+ * such trees.
** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual OFCondition setTreeFromRootTemplate(DSRRootTemplate &rootTemplate);
+ virtual OFCondition setTreeFromRootTemplate(DSRRootTemplate &rootTemplate,
+ const OFBool expandTree = OFTrue);
/** get specific character set type.
- * If the type is unknown the original DICOM defined term can be retrieved
- * with the method getSpecificCharacterSet(). Please note that only the
- * first of possibly multiple values is used to determine the type from the
- * given DICOM code string (multiple character sets are not yet supported).
+ * If the type is unknown, the original DICOM defined term can be retrieved
+ * with the method getSpecificCharacterSet().
** @return character set (might be CS_invalid/unknown if not supported)
*/
virtual E_CharacterSet getSpecificCharacterSetType() const;
// --- set DICOM string attributes ---
/** set specific character set. The internal enumerated value is set accordingly.
- * Please note that code extensions techniques are not supported. Therefore, only
- * a single value can be passed.
- ** @param value value to be set (single value only) or "" for no value
- * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled
+ * Please note that this method does not return an error if the given 'value' is not
+ * defined by the DICOM standard or not supported by this class, e.g. when no mapping
+ * to the character set names needed for HTML/XHTML or XML output is defined.
+ * If needed, check the return value of the method getSpecificCharacterSetType() for
+ * DSRTypes::CS_unknown after calling this method.
+ ** @param value value to be set (single or multiple values) or "" for no value
+ * @param check check 'value' for conformance with VR (CS) and VM (1-n) if enabled
** @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setSpecificCharacterSet(const OFString &value,
/// defined term: see class DSRTypes
E_CharacterSet SpecificCharacterSetEnum;
- // DICOM attributes are listed ordered by module.
+ // DICOM attributes are listed ordered by Module.
// The comments for each attribute describe "Name: (VR, VM, Type)".
// Please note that for particular SR documents (e.g. Key Object Selection)
// other rules might apply. See DICOM standard for further reference.
DcmLongString ProtocolName;
/// Series Description: (LO, 1, 3)
DcmLongString SeriesDescription;
- /// Referenced Performed Procedure Step Sequence: (SQ, 1-n, 2)
+ /// Series Description Code Sequence: (SQ, 1, 3)
+ // - tbd: optional attribute not yet supported
+ /// Referenced Performed Procedure Step Sequence: (SQ, 1, 2)
DcmSequenceOfItems ReferencedPerformedProcedureStep;
// --- SR Document General Module (M) ---
DcmTime ContentTime;
/// Verifying Observer Sequence: (SQ, 1-n, 1C)
DcmSequenceOfItems VerifyingObserver;
+ /// Author Observer Sequence: (SQ, 1-n, 3)
+ // - tbd: optional attribute not yet supported
+ /// Participant Sequence: (SQ, 1-n, 3)
+ // - tbd: optional attribute not yet supported
+ /// Custodial Organization Sequence: (SQ, 1, 3)
+ // - tbd: optional attribute not yet supported
/// Predecessor Documents Sequence: (SQ, 1-n, 1C)
DSRSOPInstanceReferenceList PredecessorDocuments;
/// Identical Documents Sequence: (SQ, 1-n, 1C)
DSRSOPInstanceReferenceList IdenticalDocuments;
// Referenced Request Sequence: (SQ, 1-n, 1C)
- // - tbd: conditional attribute not yet supported
+ // - tbd: conditional attribute not yet supported
/// Performed Procedure Code Sequence: (SQ, 1-n, 2)
DcmSequenceOfItems PerformedProcedureCode;
/// Current Requested Procedure Evidence Sequence: (SQ, 1-n, 1C)
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmsr/dsrdoctn.h"
#include "dcmtk/dcmsr/dsrcitem.h"
+#include "dcmtk/ofstd/ofmem.h"
#include "dcmtk/dcmdata/dcitem.h"
-/*-----------------------*
- * forward declaration *
- *-----------------------*/
+/*------------------------*
+ * forward declarations *
+ *------------------------*/
class DSRIODConstraintChecker;
+class DSRSubTemplate;
+
+
+/*-------------------*
+ * type definition *
+ *-------------------*/
+
+typedef OFshared_ptr<DSRSubTemplate> DSRSharedSubTemplate;
+
+
+/*--------------------------*
+ * template instantiation *
+ *--------------------------*/
+
+// the following is required in order to help older Clang compilers,
+// e.g. Clang 3.0 and 3.1 on Mac OS X when building with shared libs
+#if defined(__clang__)
+template class DSRTree<DSRDocumentTreeNode>;
+#endif
/*---------------------*
* Please note that the internal cursor is not copied but reset, i.e. set to the root
* node. Also the IOD constraint checker is not copied by this class but recreated
* by the derived class DSRDocumentTree (based on the corresponding document type).
+ * This constructor also updates any by-reference relationships, i.e. translates the
+ * references from the source 'tree' (based on the position string) to the IDs of the
+ * newly created nodes.
** @param tree subtree to be copied
*/
DSRDocumentSubTree(const DSRDocumentSubTree &tree);
*/
virtual OFBool isValid() const;
+ /** check whether the internal cursor, which points to the current content item, is valid
+ ** @return OFTrue if cursor is valid, OFFalse otherwise
+ */
+ virtual OFBool isCursorValid() const;
+
/** check whether this subtree is a valid document tree.
* In order to be a valid document tree, there should be a single root node only, with
* the value type "CONTAINER", and the internal relationship type of this node should be
*/
virtual OFBool isValidDocumentTree(const E_RelationshipType defaultRelType = RT_unknown) const;
+ /** check whether this subtree is an expanded document tree.
+ * Expanded means that no instances of DSRIncludedTemplateTreeNode exist in the document
+ * tree, i.e. no templates were included or all of them were replaced by their content
+ * (subtree).
+ ** @return OFTrue if subtree is an expanded document tree, OFFalse otherwise
+ */
+ virtual OFBool isExpandedDocumentTree() const;
+
/** check whether template identification is set
** @return OFTrue if template identification is set, OFFalse otherwise
*/
virtual OFBool canUseTemplateIdentification() const;
/** print current SR document tree to specified output stream
- ** @param stream output stream
- * @param flags flag used to customize the output (see DSRTypes::PF_xxx)
+ ** @param stream output stream
+ * @param flags optional flag used to customize the output (see DSRTypes::PF_xxx)
+ * @param posCounter optional pointer to position counter that should be used
+ * for line indentation or numbering of nested content items
** @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition print(STD_NAMESPACE ostream &stream,
- const size_t flags = 0);
+ const size_t flags = 0,
+ DSRPositionCounter *posCounter = NULL);
+
+ /** write current SR document tree in XML format
+ ** @param stream output stream to which the XML document is written
+ * @param flags optional flag used to customize the output (see DSRTypes::XF_xxx)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
+ const size_t flags = 0);
/** get reference to current content item.
* This mechanism allows to access all content items without using pointers.
*/
virtual DSRContentItem &getCurrentContentItem();
+ /** count number of content items (nodes) in the document tree.
+ * This method iterates over all nodes that are stored in the document tree.
+ * By default, included sub-templates are counted as a single node (see options).
+ ** @param searchIntoSubTemplates optional flag indicating whether to also
+ * count the content of included sub-templates
+ * (i.e.\ the nodes of the managed subtrees)
+ * @param countIncludedTemplateNodes optional flag indicating whether to count
+ * the DSRIncludedTemplateTreeNode instances
+ * as nodes. See includeTemplate() for details.
+ ** @return number of nodes, 0 if document tree is empty
+ */
+ size_t countNodes(const OFBool searchIntoSubTemplates = OFFalse,
+ const OFBool countIncludedTemplateNodes = OFTrue) const;
+
/** set internal cursor to a named node.
* If more than one node exists with the given concept name, the first one will
* be selected. Use gotoNextNamedNode() in order to go to the next matching node.
const OFBool startFromRoot = OFTrue,
const OFBool searchIntoSub = OFTrue);
+ /** set internal cursor to a named node (starting from the first children of the
+ * current node).
+ * If more than one node exists with the given concept name, the first one will
+ * be selected. Use gotoNextNamedNode() in order to go to the next matching node.
+ ** @param conceptName concept name of the node to be searched for
+ * @param searchIntoSub flag indicating whether to search into sub-trees
+ * ("deep search") or on the current level only
+ ** @return ID of the new current node if successful, 0 otherwise
+ */
+ virtual size_t gotoNamedChildNode(const DSRCodedEntryValue &conceptName,
+ const OFBool searchIntoSub = OFTrue);
+
/** set internal cursor to the next named node.
* Starts from "next" node, i.e. either the first children of the current node
* or the first sibling following the current node.
/** check whether specified content item can be added to the current one.
* This method can be used to decide which type of content items can be added prior
- * to really doing so.
+ * to really doing so. Please note that only by-value relationships are supported.
* Always returns true if no constraint checker is available but 'relationshipType'
* and 'valueType' have valid values.
** @param relationshipType relationship type of node to be checked with regard to
*/
virtual OFBool canAddContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const E_AddMode addMode = AM_afterCurrent);
+ const E_AddMode addMode = AM_afterCurrent) const;
/** check whether specified by-reference relationship can be added to the current
* content item.
* Always returns true if no constraint checker is available but 'relationshipType' and
- * 'targetValueType' have valid values.
+ * 'targetValueType' have valid values. The value type DSRTypes::VT_includedTemplate is
+ * never allowed for the target content item.
** @param relationshipType type of relationship between current and target node
* @param targetValueType value type of the referenced node (target content item)
** @return OFTrue if specified by-reference relationship can be added, OFFalse otherwise
*/
virtual OFBool canAddByReferenceRelationship(const E_RelationshipType relationshipType,
- const E_ValueType targetValueType);
+ const E_ValueType targetValueType) const;
/** add specified content item to the current one.
* If possible, this method creates a new node as specified and adds it to the current
* to the current one
* @param valueType value type of node to be added
* @param conceptName concept name of the node to be added
+ * @param check if enabled, check 'conceptName for validity before setting it
** @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition addContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const DSRCodedEntryValue &conceptName);
+ const DSRCodedEntryValue &conceptName,
+ const OFBool check = OFTrue);
/** add specified content item below the current one.
* If possible, this method creates a new node as specified and adds it below the current
* to the current one
* @param valueType value type of node to be added
* @param conceptName concept name of the node to be added
+ * @param check if enabled, check 'conceptName for validity before setting it
** @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition addChildContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const DSRCodedEntryValue &conceptName);
+ const DSRCodedEntryValue &conceptName,
+ const OFBool check = OFTrue);
/** add specified by-reference relationship to the current content item.
* If possible, this method creates a new pseudo-node (relationship) and adds it to the
virtual size_t addByReferenceRelationship(const E_RelationshipType relationshipType,
const size_t referencedNodeID);
+ /** update the position strings used to encode by-reference relationships (if any).
+ * Internally, this method calls checkByReferenceRelationships() with the 'mode'
+ * parameter being DSRTypes::CM_updatePositionString. It should be called before
+ * this subtree is cloned in order to make sure that the by-reference relationships
+ * (if any) still work on the cloned subtree.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition updateByReferenceRelationships();
+
/** check whether specified subtree can be inserted at the current position, i.e.\ added
* to the current content item. Internally, the method canAddContentItem() is used for
* all top-level nodes of the document subtree. In addition, if a constraint checker
* type is used if the one of a top-level node is "unknown".
** @return OFTrue if specified subtree can be inserted, OFFalse otherwise
*/
- virtual OFBool canInsertSubTree(DSRDocumentSubTree *tree,
+ virtual OFBool canInsertSubTree(const DSRDocumentSubTree *tree,
const E_AddMode addMode = AM_belowCurrent,
- const E_RelationshipType defaultRelType = RT_unknown);
+ const E_RelationshipType defaultRelType = RT_unknown) const;
/** insert specified subtree to this tree, i.e.\ add it to the current content item.
* If possible, this method adds a given new subtree to the current content item.
*/
virtual DSRDocumentSubTree *cloneSubTree(const size_t stopAfterNodeID = 0) const;
+ /** created an expanded version of this (sub)tree.
+ * Expanded means that no instance of DSRIncludedTemplateTreeNode will exist in the new
+ * document tree, i.e. all of them are replaced by their content (subtree). Please note
+ * that the returned subtree has to be deleted by the caller if it is not inserted into
+ * the document tree using insertSubTree().
+ ** @param tree variable that will store the pointer to the new subtree
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition createExpandedSubTree(DSRDocumentSubTree *&tree) const;
+
+ /** compare template identification of the root node with given values.
+ * Please note that the comparison only takes place if there is a single node at the
+ * root of the tree and its value type is CONTAINER.
+ ** @param templateIdentifier template identifier to compare with
+ * @param mappingResource mapping resource that defines the template
+ * @param mappingResourceUID uniquely identifies the mapping resource (optional).
+ * Not used for comparison if the value is empty.
+ ** @result OFTrue if template identification can be compared and the values are
+ * identical, OFFalse otherwise
+ */
+ virtual OFBool compareTemplateIdentification(const OFString &templateIdentifier,
+ const OFString &mappingResource,
+ const OFString &mappingResourceUID = "") const;
+
/** get template identifier and mapping resource from the root node of this tree. See
* DSRDocumentTreeNode::getTemplateIdentification() for details on template identification.
* Please note that the template identification is only retrieved if there is a single node
** @param node pointer to the new node to be added
* @param addMode flag specifying at which position to add the new node
* (e.g. after or below the current node)
- ** @return ID of the new added node if successful, 0 otherwise
+ ** @return ID of the new node if successful, 0 otherwise
*/
virtual size_t addNode(DSRDocumentTreeNode *node,
const E_AddMode addMode = AM_afterCurrent);
+ /** replace current node by the given one.
+ * Please note that no copy of the given node is created. Therefore, the node
+ * should be created with new() - do not use a reference to a local variable. If
+ * the node could be replaced successfully, the "old" node (and all of its child
+ * nodes) are deleted, and the cursor is set to the new one.
+ ** @param node pointer to the new node to replace the current one
+ ** @return ID of the new node if successful, 0 otherwise
+ */
+ virtual size_t replaceNode(DSRDocumentTreeNode *node);
+
/** extract current node from tree.
* Please note that not only the specified node but also all of its child nodes are
* extracted from the tree. The cursor is set automatically to a new valid position.
*/
virtual size_t removeNode();
+ /** include specified sub-template, i.e.\ add a new DSRIncludedTemplateTreeNode, which
+ * references this template, to the current content item.
+ * Please note that no checks are performed that would make sure that the template
+ * with its top-level nodes can actually be added, e.g. by using an IOD constraint
+ * checker. This is also the reason why this method is "protected" and not "public",
+ * i.e. it can only be used by derived classes, e.g. DSRSubTemplate and its children.
+ ** @param subTemplate shared pointer to a sub-template that should be included
+ * into this tree (at the current position)
+ * @param addMode flag specifying at which position to add the 'subTemplate'
+ * (e.g. after or below the current node)
+ * @param defaultRelType default relationship type that will be used when the
+ * subtree that is managed by the 'subTemplate' is inserted
+ * into this tree and the relationship type of one of the
+ * top-level nodes is "unknown". Also see documentation of
+ * createExpandedSubTree().
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition includeTemplate(const DSRSharedSubTemplate &subTemplate,
+ const E_AddMode addMode = AM_belowCurrent,
+ const E_RelationshipType defaultRelType = RT_unknown);
+
+ /** expand all "included template" content items in a given (sub)tree.
+ * Expanding means that all instances of DSRIncludedTemplateTreeNode are replaced by
+ * their content (subtree).
+ * Please note that the internal cursor of the given 'tree' is set to the root node
+ * if no error occurred. Otherwise, the cursor points to the content item that
+ * caused the problem.
+ ** @param tree pointer to the subtree that should be expanded
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition expandIncludedTemplates(DSRDocumentSubTree *tree) const;
+
/** check the by-reference relationships (if any) for validity.
* This function checks whether all by-reference relationships possibly contained
* in the document tree are valid according to the following restrictions: source
* If NULL, no checks are performed by this method.
** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual OFCondition checkSubTreeConstraints(DSRDocumentSubTree *tree,
- DSRIODConstraintChecker *checker);
+ virtual OFCondition checkSubTreeConstraints(const DSRDocumentSubTree *tree,
+ const DSRIODConstraintChecker *checker) const;
/// check relationship content constraints of the associated IOD
DSRIODConstraintChecker *ConstraintChecker;
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
virtual OFCondition print(STD_NAMESPACE ostream &stream,
const size_t flags) const;
+ /** print extended information on the content item.
+ * The following details are printed (if present and output is enabled): observation
+ * date/time (in curly brackets), annotation text (in quotation marks) and template
+ * identification (after a hash mark). This method is intended to be called after
+ * the general print() method, e.g. like it is done by DSRDocumentSubTree::print().
+ ** @param stream output stream to which the extended information should be printed
+ * @param flags flag used to customize the output (see DSRTypes::PF_xxx)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition printExtended(STD_NAMESPACE ostream &stream,
+ const size_t flags) const;
+
/** read content item from dataset.
* A number of readXXX() methods are called (see "protected" part) in order to retrieve all
* possibly nested content items from the dataset.
virtual OFCondition setObservationUID(const OFString &observationUID,
const OFBool check = OFTrue);
+ /** compare template identification with given values
+ ** @param templateIdentifier template identifier to compare with
+ * @param mappingResource mapping resource that defines the template
+ * @param mappingResourceUID uniquely identifies the mapping resource (optional).
+ * Not used for comparison if the value is empty.
+ ** @result OFTrue if template identification is identical, OFFalse otherwise
+ */
+ virtual OFBool compareTemplateIdentification(const OFString &templateIdentifier,
+ const OFString &mappingResource,
+ const OFString &mappingResourceUID = "") const;
+
/** get template identifier and mapping resource.
* This value pair identifies the template that was used to create this content item
* (and its children). According to the DICOM standard, it is "required if a template
/** read document relationship macro
** @param dataset DICOM dataset from which the data should be read
* @param constraintChecker checks relationship content constraints of the associated IOD
- * @param posString location of the current content item (e.g. "1.2.3")
+ * @param posString location of the current content item (e.g.\ "1.2.3")
* @param flags flag used to customize the reading process (see DSRTypes::RF_xxx)
** @return status, EC_Normal if successful, an error code otherwise
*/
/** read document content macro
** @param dataset DICOM dataset from which the data should be read
- * @param posString location of the current content item (e.g. "1.2.3")
+ * @param posString location of the current content item (e.g.\ "1.2.3")
* @param flags flag used to customize the reading process (see DSRTypes::RF_xxx)
** @return status, EC_Normal if successful, an error code otherwise
*/
/** read content sequence
** @param dataset DICOM dataset from which the data should be read
* @param constraintChecker checks relationship content constraints of the associated IOD
- * @param posString location of the current content item (e.g. "1.2.3")
+ * @param posString location of the current content item (e.g.\ "1.2.3")
* @param flags flag used to customize the reading process (see DSRTypes::RF_xxx)
** @return status, EC_Normal if successful, an error code otherwise
*/
private:
- /// flag indicating whether the content item is marked (e.g. used for digital signatures).
+ /// flag indicating whether the content item is marked (e.g.\ used for digital signatures).
/// The default value is OFFalse.
OFBool MarkFlag;
- /// flag indicating whether the content item is referenced (by-reference relationship)
+ /// flag indicating whether the content item is referenced (by-reference relationship).
/// The default value is OFFalse.
OFBool ReferenceTarget;
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual OFBool isValid() const;
+ /** print current SR document tree to specified output stream
+ ** @param stream output stream
+ * @param flags optional flag used to customize the output (see DSRTypes::PF_xxx)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition print(STD_NAMESPACE ostream &stream,
+ const size_t flags = 0);
+
/** read SR document tree from DICOM dataset.
* Please note that the current document tree is also deleted if the reading fails.
* If logging is enabled, the reason for any error might be obtained from the
const E_DocumentType documentType,
const size_t flags = 0);
- /** write current SR document tree to DICOM dataset
+ /** write current SR document tree to DICOM dataset.
+ * Please note that included (non-expanded) sub-templates are not supported.
** @param dataset reference to DICOM dataset where the current tree should be
* written to. The 'dataset' is not cleared before writing to it!
* @param markedItems optional stack where pointers to all 'marked' content items
DSRXMLCursor cursor,
const size_t flags);
- /** write current SR document tree in XML format
- ** @param stream output stream to which the XML document is written
- * @param flags flag used to customize the output (see DSRTypes::XF_xxx)
- ** @return status, EC_Normal if successful, an error code otherwise
- */
- virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
- const size_t flags);
-
- /** render current SR document tree in HTML/XHTML format
+ /** render current SR document tree in HTML/XHTML format.
+ * Please note that included (non-expanded) sub-templates are not supported.
** @param docStream output stream to which the main HTML/XHTML document is written
* @param annexStream output stream to which the HTML/XHTML document annex is written
* @param flags optional flag used to customize the output (see DSRTypes::HF_xxx)
const size_t flags = 0);
/** get document type
- ** return current document type (might be DSRTypes::DT_invalid)
+ ** @return current document type (might be DSRTypes::DT_invalid)
*/
inline E_DocumentType getDocumentType() const
{
*/
virtual OFBool canAddContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const E_AddMode addMode = AM_afterCurrent);
+ const E_AddMode addMode = AM_afterCurrent) const;
/** check whether specified subtree can be inserted at the current position, i.e.\ added
* to the current content item.
* type is used if the one of a top-level node is "unknown".
** @return OFTrue if specified subtree can be inserted, OFFalse otherwise
*/
- virtual OFBool canInsertSubTree(DSRDocumentSubTree *tree,
+ virtual OFBool canInsertSubTree(const DSRDocumentSubTree *tree,
const E_AddMode addMode = AM_belowCurrent,
- const E_RelationshipType defaultRelType = RT_unknown);
+ const E_RelationshipType defaultRelType = RT_unknown) const;
/** check whether the document tree complies with the constraints of the given checker.
* This method also checks whether the currently stored document tree is either empty
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return always returns NULL (no template required)
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_EnhancedSR)
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual OFBool isShort(const size_t flags) const;
+ /** check whether the current image reference points to a DICOM segmentation object
+ ** @return OFTrue if a segmentation object is referenced, OFFalse otherwise
+ */
+ virtual OFBool isSegmentation() const;
+
/** print image reference.
* The output of a typical image reference value looks like this: (CT image,"1.2.3") or
* (CT image,"1.2.3"),(GSPS,"1.2.3.4") if a presentation state is present.
return FrameList;
}
+ /** get read-only access to list of referenced frame numbers
+ ** @return constant reference to frame list
+ */
+ inline const DSRImageFrameList &getFrameList() const
+ {
+ return FrameList;
+ }
+
/** get reference to list of referenced segment numbers.
* According to the DICOM standard, this list is required if the referenced image is
* a segmentation object, and the reference does not apply to all segments and the list
return SegmentList;
}
+ /** get read-only access to list of referenced segment numbers
+ ** @return constant reference to segment list
+ */
+ inline const DSRImageSegmentList &getSegmentList() const
+ {
+ return SegmentList;
+ }
+
/** check whether the image reference applies to a specific frame.
* The image reference applies to a frame (of multiframe images) if the list of
* referenced frame numbers is empty or the frame number is part of the list.
*/
virtual OFCondition writeItem(DcmItem &dataset) const;
+ /** check whether the given SOP class UID refers to a DICOM segmentation object
+ ** @param sopClassUID SOP class UID to be checked
+ ** @return OFTrue if the UID refers to a segmentation object, OFFalse otherwise
+ */
+ virtual OFBool isSegmentationObject(const OFString &sopClassUID) const;
+
/** check the specified SOP class UID for validity.
* This method further specializes the checks performed in the base class
- * DSRCompositeReferenceValue. All image SOP classes that are defined in
- * DICOM PS 3.6-2014a and the "Segmentation Storage SOP Class" are allowed.
+ * DSRCompositeReferenceValue. All image and segmentation SOP classes that
+ * are defined in DICOM PS 3.6-2015c are allowed.
** @param sopClassUID SOP class UID to be checked
** @return status, EC_Normal if value is valid, an error code otherwise
*/
virtual OFCondition checkRealWorldValueMapping(const DSRCompositeReferenceValue &referenceValue) const;
/** check the given list of frame and segment numbers for validity.
- * The only check that is currently performed is that either both lists are empty or only
- * one of them is non-empty, because otherwise the "type 1C" condition would be violated.
- ** @param frameList list of referenced frame numbers to be checked
+ * Either both lists have to be empty or only one of them has to be non-empty,
+ * because otherwise the "type 1C" condition would be violated. Also the list
+ * of segment numbers should only be non-empty for one of the DICOM segmentation
+ * objects (see isSegmentationObject()).
+ ** @param sopClassUID SOP class UID of the image object to be checked
+ * @param frameList list of referenced frame numbers to be checked
* @param segmentList list of referenced segment numbers to be checked
- * @param reportWarnings if enabled, report a warning message on each deviation from an
- * expected value to the logger
+ * @param reportWarnings if enabled, report a warning message on each deviation
+ * from an expected value to the logger
** @return status, EC_Normal if checked data is valid, an error code otherwise
*/
- OFCondition checkListData(const DSRImageFrameList &frameList,
+ OFCondition checkListData(const OFString &sopClassUID,
+ const DSRImageFrameList &frameList,
const DSRImageSegmentList &segmentList,
const OFBool reportWarnings = OFFalse) const;
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the
- * Implantation Plan SR Document IOD
+/** Class for checking the relationship content constraints of the Implantation Plan
+ * SR Document IOD.
+ * According to DICOM PS 3.3: "The document shall be constructed from TID 7000
+ * (Implantation Plan) invoked at the root node."
*/
class DCMTK_DCMSR_EXPORT DSRImplantationPlanSRDocumentConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "7000"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_ImplantationPlanSRDocument)
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
virtual OFBool isTemplateSupportRequired() const = 0;
- /** get identifier of the root template
- ** @return root template identifier (TID) if required, NULL otherwise
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const = 0;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const = 0;
/** get the associated document type of the SR IOD (abstract)
** @return document type (see DSRTypes::E_DocumentType)
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the
- * Key Object Selection Document IOD
+/** Class for checking the relationship content constraints of the Key Object
+ * Selection Document IOD.
+ * According to DICOM PS 3.3: "The document shall be constructed from TID 2010
+ * (Key Object Selection) invoked at the root node."
*/
class DCMTK_DCMSR_EXPORT DSRKeyObjectSelectionDocumentConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "2010"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_KeyObjectSelectionDocument)
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the
- * Macular Grid Thickness And Volume Report IOD
+/** Class for checking the relationship content constraints of the Macular Grid
+ * Thickness And Volume Report IOD.
+ * According to DICOM PS 3.3: "The document shall be constructed from TID 2100
+ * (Macular Grid Thickness and Volume Report) invoked at the root node."
*/
class DCMTK_DCMSR_EXPORT DSRMacularGridThicknessAndVolumeReportConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "2100"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_MacularGridThicknessAndVolumeReport)
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the Mammography CAD SR IOD
+/** Class for checking the relationship content constraints of the Mammography CAD SR
+ * IOD.
+ * According to DICOM PS 3.3: "The document shall be constructed from TID 4000
+ * (Mammography CAD Document Root) invoked at the root node. When a content item
+ * sub-tree from a prior document is duplicated by-value, its observation context
+ * shall be defined by TID 1001 (Observation Context) and its subordinate templates."
*/
class DCMTK_DCMSR_EXPORT DSRMammographyCadSRConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "4000"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_MammographyCadSR)
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for numeric measurement values
+/** Class for numeric values and measurements
*/
class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue
{
DSRNumericMeasurementValue();
/** constructor
- ** @param numericValue numeric measurement value (VR=DS, mandatory)
+ ** @param numericValue numeric value (VR=DS, mandatory)
* @param measurementUnit code representing the units of measurement (mandatory)
* @param check if enabled, check 'numericValue' and 'measurementUnit' for
* validity before setting them. See corresponding setValue()
const OFBool check = OFTrue);
/** constructor
- ** @param numericValue numeric measurement value (VR=DS, mandatory)
+ ** @param valueQualifier code representing the numeric value qualifier. Used to
+ * specify the reason for the absence of the measured value
+ * sequence, i.e. why the numeric value and measurement unit
+ * are empty.
+ * @param check if enabled, check value for validity before setting it.
+ * See corresponding setValue() method for details.
+ */
+ DSRNumericMeasurementValue(const DSRCodedEntryValue &valueQualifier,
+ const OFBool check = OFTrue);
+
+ /** constructor
+ ** @param numericValue numeric value (VR=DS, mandatory)
* @param measurementUnit code representing the units of measurement (mandatory)
* @param valueQualifier code representing the numeric value qualifier (optional).
* Can also be used to specify the reason for the absence of
*/
virtual OFBool isEmpty() const;
+ /** check whether the current numeric measurement value is complete, i.e.\ whether the
+ * numeric value is non-empty and the measurement unit is complete, or whether the
+ * value qualifier is complete. This is just a basic check that might be useful for
+ * "validating" input data. See isValid() for a more sophisticated way of checking
+ * the current numeric measurement value.
+ ** @return OFTrue if value is complete, OFFalse otherwise
+ */
+ virtual OFBool isComplete() const;
+
/** print numeric measurement value.
* The output of a typical numeric measurement value looks like this:
- * "3.5" (cm,UCUM[1.4],"centimeter"). If the value is empty the text "empty" is printed
- * instead. The numeric value qualifier as well as the possibly available additional
- * floating point and rational representations of the numeric value are never printed.
+ * "3.5" (cm,UCUM[1.4],"centimeter"). If the value is empty, the text "empty" is printed
+ * instead, followed by the numeric value qualifier (if present). The possibly available
+ * additional floating point and rational representations of the numeric value are never
+ * printed.
** @param stream output stream to which the numeric measurement value should be printed
* @param flags flag used to customize the output (not used)
** @return status, EC_Normal if successful, an error code otherwise
const DSRCodedEntryValue &measurementUnit,
const OFBool check = OFTrue);
+ /** set empty numeric value and measurement unit with a numeric value qualifier.
+ * Before setting the value, it is usually checked. If the value is invalid, the
+ * current numeric measurement value is not replaced and remains unchanged.
+ ** @param valueQualifier numeric value qualifier to be set. Used to specify the
+ * reason for the absence of the measured value sequence,
+ * i.e. why the numeric value and measurement unit are empty.
+ * @param check if enabled, check value for validity before setting it.
+ * See checkNumericValueQualifier() method for details.
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ OFCondition setValue(const DSRCodedEntryValue &valueQualifier,
+ const OFBool check = OFTrue);
+
/** set numeric value, measurement unit and numeric value qualifier.
* Before setting the values, they are usually checked. Please note that both
* 'numericValue' and 'measurementUnit' either have to be empty or non-empty.
};
+/** output stream operator for numeric measurement values.
+ * Internally, the DSRNumericMeasurementValue::print() method is used, i.e. the output
+ * looks like this: "3.5" (cm,UCUM[1.4],"centimeter") or "empty" (if the value is empty)
+ * @param stream output stream to which the numeric measurement value is
+ * printed
+ * @param numericMeasurement numeric measurement value to be printed
+ * @return reference to output stream
+ */
+DCMTK_DCMSR_EXPORT STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream,
+ const DSRNumericMeasurementValue &numericMeasurement);
+
+
#endif
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmsr
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose:
+ * classes: DSRPositionCounter
+ *
+ */
+
+
+#ifndef DSRPOSCN_H
+#define DSRPOSCN_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/ofstd/ofstring.h"
+#include "dcmtk/ofstd/oflist.h"
+
+#include "dcmtk/dcmsr/dsdefine.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Class implementing a position counter to be used for iterating a tree of nodes
+ */
+class DCMTK_DCMSR_EXPORT DSRPositionCounter
+{
+ public:
+
+ /** default constructor
+ */
+ DSRPositionCounter();
+
+ /** copy constructor
+ ** @param counter object to be copied
+ */
+ DSRPositionCounter(const DSRPositionCounter &counter);
+
+ /** destructor
+ */
+ virtual ~DSRPositionCounter();
+
+ /** assignment operator
+ ** @param counter object to be copied
+ ** @return reference to modified cursor (this object)
+ */
+ DSRPositionCounter &operator=(const DSRPositionCounter &counter);
+
+ /** conversion operator that returns the position on the current level
+ * (0 if the position counter is invalid)
+ */
+ inline operator size_t () const
+ {
+ return Position;
+ }
+
+ /** pre-increment operator. Increases the position on the current level by 1.
+ * Also makes the position counter valid if it was invalid before.
+ */
+ inline DSRPositionCounter &operator++()
+ {
+ ++Position;
+ return *this;
+ }
+
+ /** pre-decrement operator. Decreases the position on the current level by 1.
+ * This makes the position counter invalid if the position was 1 before.
+ */
+ inline DSRPositionCounter &operator--()
+ {
+ /* avoid underflow */
+ if (Position > 0) --Position;
+ return *this;
+ }
+
+ /** clear all member variables.
+ * The position counter becomes invalid afterwards (same state as after default
+ * construction). Also see initialize().
+ */
+ void clear();
+
+ /** initialize the position counter
+ ** @param valid flag specifying whether the counter should be initialized as
+ * valid (default) or invalid
+ */
+ void initialize(const OFBool valid = OFTrue);
+
+ /** check whether position counter is valid (i.e.\ has been initialized)
+ ** @return OFTrue if valid, OFFalse otherwise
+ */
+ inline OFBool isValid() const
+ {
+ return (Position > 0);
+ }
+
+ /** go one level up, i.e.\ restore the position on the next upper level and forget
+ * about the current level
+ ** @return OFTrue if successful, OFFalse otherwise
+ */
+ OFBool goUp();
+
+ /** go one level down, i.e.\ store the position on the current level and start with
+ * 1 on the new level
+ ** @return OFTrue if successful, OFFalse otherwise
+ */
+ OFBool goDown();
+
+ /** get current level of the position counter.
+ * The top most (root) level is 1, the next lower level is 2, etc.
+ ** @return number of the current level if valid, 0 otherwise
+ */
+ inline size_t getLevel() const
+ {
+ /* check for valid counter */
+ return isValid() ? PositionList.size() + 1 : 0;
+ }
+
+ /** get string representing the current state of the position counter.
+ * See DSRTreeNodeCursor::getPosition() for details.
+ ** @param position variable where the position string should be stored
+ * @param separator character used to separate the figures (default: '.')
+ ** @return reference to the resulting position string (empty if invalid)
+ */
+ const OFString &getString(OFString &position,
+ const char separator = '.') const;
+
+
+ private:
+
+ /// current position within the current level
+ size_t Position;
+ /// list of position counters in upper levels
+ OFList<size_t> PositionList;
+};
+
+
+#endif
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the Procedure Log IOD
+/** Class for checking the relationship content constraints of the Procedure Log IOD.
+ * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 3001
+ * (Procedure Log) invoked at the root node."
*/
class DCMTK_DCMSR_EXPORT DSRProcedureLogConstraintChecker
: public DSRIODConstraintChecker
virtual OFBool isByReferenceAllowed() const;
/** check whether this SR IOD requires template support
- ** @return always returns OFTrue, i.e. template support is required
+ ** @return always returns OFFalse, i.e. template support is not required
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "3001"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_ProcedureLog)
*---------------------*/
/** Class for checking the relationship content constraints of the Radiopharmaceutical
- * Radiation Dose SR IOD
+ * Radiation Dose SR IOD.
+ * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 10021
+ * (Radiopharmaceutical Radiation Dose) invoked at the root node."
*/
class DCMTK_DCMSR_EXPORT DSRRadiopharmaceuticalRadiationDoseConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return always returns NULL (no template required)
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_RadiopharmaceuticalRadiationDoseSR)
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
*/
virtual void clear();
- /** check whether the current internal state is valid
+ /** check whether the current internal state is valid.
+ * That means, whether both the internally stored document tree and the template
+ * identification are valid.
** @return OFTrue if valid, OFFalse otherwise
*/
virtual OFBool isValid() const;
* document tree starting from the root node
** @return always returns OFTrue since this class handles root templates
*/
- OFBool isRootTemplate() const
+ inline OFBool isRootTemplate() const
{
return OFTrue;
}
/** get read-only access to internally stored document tree.
* This method is not "const" because the template identification is set/updated
* automatically for the root node of the document tree (if applicable).
- ** @return get constant reference to internally stored document tree
+ ** @return constant reference to internally stored document tree
*/
virtual const DSRDocumentTree &getTree();
// --- introduce some methods from base class to public API
+ using DSRDocumentTree::isEmpty;
+ using DSRDocumentTree::isCursorValid;
using DSRDocumentTree::getDocumentType;
using DSRDocumentTree::print;
+ using DSRDocumentTree::writeXML;
using DSRDocumentTree::countNodes;
+ using DSRDocumentTree::countChildNodes;
+ using DSRDocumentTree::hasParentNode;
+ using DSRDocumentTree::hasChildNodes;
+ using DSRDocumentTree::hasPreviousNode;
+ using DSRDocumentTree::hasNextNode;
+ using DSRDocumentTree::hasSiblingNodes;
+ using DSRDocumentTree::iterate;
+ using DSRDocumentTree::gotoRoot;
+ using DSRDocumentTree::gotoFirst;
+ using DSRDocumentTree::gotoLast;
+ using DSRDocumentTree::gotoPrevious;
+ using DSRDocumentTree::gotoNext;
+ using DSRDocumentTree::gotoParent;
+ using DSRDocumentTree::gotoChild;
using DSRDocumentTree::gotoNamedNode;
using DSRDocumentTree::gotoNextNamedNode;
using DSRDocumentTree::gotoAnnotatedNode;
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
DSRGraphicDataList GraphicDataList;
/// Fiducial UID (VR=UI, VM=1, type 3)
OFString FiducialUID;
+ /// Pixel Origin Interpretation (VR=CS, VM=1, type 1C)
+ // - tbd: conditional attribute not yet supported
};
/*
*
- * Copyright (C) 2002-2015, OFFIS e.V.
+ * Copyright (C) 2002-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*/
const OFString &getSOPClassUID(OFString &stringValue) const;
+ /** get name associated with the SOP class UID of the currently selected entry
+ ** @param stringValue reference to string variable in which the result is stored
+ * @param defaultName string value that is returned if the SOP class UID is unknown
+ ** @return reference to the resulting string (might be empty even if 'defaultName' is
+ * non-empty, e.g. in case no entry is currently selected)
+ */
+ const OFString &getSOPClassName(OFString &stringValue,
+ const OFString &defaultName = "unknown SOP Class UID") const;
+
/** get the retrieve application entity title of the currently selected entry (optional).
* The resulting string may contain multiple values separated by a backslash ("\").
** @param stringValue reference to string variable in which the result is stored
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the
- * Spectacle Prescription Report IOD
+/** Class for checking the relationship content constraints of the Spectacle
+ * Prescription Report IOD.
+ * According to DICOM PS 3.3: "The document shall be constructed from TID 2020
+ * (Spectacle Prescription Report) invoked at the root node."
*/
class DCMTK_DCMSR_EXPORT DSRSpectaclePrescriptionReportConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return root template identifier (TID) "2020"
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_SpectaclePrescriptionReport)
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
*/
virtual void clear();
- /** check whether the current internal state is valid
+ /** check whether the current internal state is valid.
+ * That means, whether both the internally stored subtree and the template
+ * identification are valid.
** @return OFTrue if valid, OFFalse otherwise
*/
virtual OFBool isValid() const;
* document tree starting from the root node
** @return always returns OFFalse since this class handles non-root templates only
*/
- OFBool isRootTemplate() const
+ inline OFBool isRootTemplate() const
{
return OFFalse;
}
/** get read-only access to internally stored subtree.
* This method is not "const" because the template identification is set/updated
* automatically for the root node of the subtree (if applicable).
- ** @return get constant reference to internally stored subtree
+ ** @return constant reference to internally stored subtree
*/
virtual const DSRDocumentSubTree &getTree();
// --- introduce some methods from base class to public API
+ using DSRDocumentSubTree::isEmpty;
+ using DSRDocumentSubTree::isCursorValid;
using DSRDocumentSubTree::print;
+ using DSRDocumentSubTree::writeXML;
using DSRDocumentSubTree::countNodes;
+ using DSRDocumentSubTree::countChildNodes;
+ using DSRDocumentSubTree::hasParentNode;
+ using DSRDocumentSubTree::hasChildNodes;
+ using DSRDocumentSubTree::hasPreviousNode;
+ using DSRDocumentSubTree::hasNextNode;
+ using DSRDocumentSubTree::hasSiblingNodes;
+ using DSRDocumentSubTree::iterate;
+ using DSRDocumentSubTree::gotoRoot;
+ using DSRDocumentSubTree::gotoFirst;
+ using DSRDocumentSubTree::gotoLast;
+ using DSRDocumentSubTree::gotoPrevious;
+ using DSRDocumentSubTree::gotoNext;
+ using DSRDocumentSubTree::gotoParent;
+ using DSRDocumentSubTree::gotoChild;
using DSRDocumentSubTree::gotoNamedNode;
using DSRDocumentSubTree::gotoNextNamedNode;
using DSRDocumentSubTree::gotoAnnotatedNode;
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/ofstd/ofstack.h"
-#include "dcmtk/ofstd/oflist.h"
#include "dcmtk/dcmsr/dsdefine.h"
#include "dcmtk/dcmsr/dsrtypes.h"
+#include "dcmtk/dcmsr/dsrposcn.h"
#include "dcmtk/dcmsr/dsrtnant.h"
*/
DSRTreeNodeCursor(const DSRTreeNodeCursor<T> &cursor);
- /** constructor
- ** @param node pointer to tree node used to initialize the cursor (set to this node)
+ /** constructor.
+ * See comments on setCursor(T*) method.
+ ** @param node pointer to tree node used to initialize the cursor
+ * @param position optional pointer to position counter that should be used to
+ * initialize the internal counter
*/
- DSRTreeNodeCursor(T *node);
+ DSRTreeNodeCursor(T *node,
+ const DSRPositionCounter *position = NULL);
/** destructor
*/
*/
DSRTreeNodeCursor<T> &operator=(const DSRTreeNodeCursor<T> &cursor);
- /** assignment operator
+ /** assignment operator.
+ * See comments on setCursor(T*) method.
** @param node node to which the cursor should be set
** @return reference to modified cursor (this object)
*/
DSRTreeNodeCursor<T> &operator=(T *node);
- /** clear all member variables
+ /** clear all member variables.
+ * The cursor becomes invalid afterwards (same state as after default construction).
*/
virtual void clear();
/** check whether the current node has a parent
** @return OFTrue if the current node has a parent, OFFalse otherwise
*/
- OFBool hasParentNode() const;
+ inline OFBool hasParentNode() const;
/** check whether the current node has any children
** @return OFTrue if the current node has any children, OFFalse otherwise
*/
- OFBool hasChildNodes() const;
+ inline OFBool hasChildNodes() const;
/** check whether the current node has a preceding sibling
** @return OFTrue if the current node has a preceding sibling, OFFalse otherwise
*/
- OFBool hasPreviousNode() const;
+ inline OFBool hasPreviousNode() const;
/** check whether the current node has a following sibling
** @return OFTrue if the current node has a following sibling, OFFalse otherwise
*/
- OFBool hasNextNode() const;
+ inline OFBool hasNextNode() const;
/** check whether the current node has any siblings
** @return OFTrue if the current node has any siblings, OFFalse otherwise
*/
- OFBool hasSiblingNodes() const;
+ inline OFBool hasSiblingNodes() const;
/** get pointer to current node
** @return pointer to current node (might be NULL)
* Can be used to have a lookup to the parent node without changing the cursor.
** @return pointer to parent node (if any), NULL otherwise
*/
- virtual const T *getParentNode();
+ virtual const T *getParentNode() const;
/** get pointer to first child node.
* Can be used to have a lookup to the first child node without changing the cursor.
*/
size_t goDown();
+ /** @copydoc goUp()
+ */
+ inline size_t gotoParent();
+
+ /** @copydoc goDown()
+ */
+ inline size_t gotoChild();
+
/** iterate over all nodes. Starts from current position!
** @param searchIntoSub flag indicating whether to search into sub-trees
* ("deep search") or on the current level only
* the navigation methods above do return this ID too.
** @return ID of the current node if valid, 0 otherwise
*/
- size_t getNodeID() const;
+ inline size_t getNodeID() const;
/** get current level.
* The level starts with 1 for the root node, then 2 for its child nodes, etc.
** @return number of the current level if valid, 0 otherwise
*/
- size_t getLevel() const;
+ inline size_t getLevel() const;
+
+ /** get reference to internal position counter.
+ * Please note that this method allows for manipulating the internal position
+ * counter, so handle with care!
+ ** @return reference to internal position counter
+ */
+ inline DSRPositionCounter &getPositionCounter();
/** get position string of the current node.
* Specifies the position of each node by means of a dot separated string of
* @param separator character used to separate the figures (default: '.')
** @return reference to the resulting position string (empty if invalid)
*/
- const OFString &getPosition(OFString &position,
- const char separator = '.') const;
+ inline const OFString &getPosition(OFString &position,
+ const char separator = '.') const;
protected:
*/
void clearNodeCursorStack();
+ /** get cursor
+ ** @return reference to cursor (this object)
+ */
+ inline const DSRTreeNodeCursor<T> &getCursor() const;
+
+ /** set cursor to specified object
+ ** @param cursor object to set this cursor to
+ */
+ inline void setCursor(const DSRTreeNodeCursor<T> &cursor);
+
/** set cursor to specified node.
- * Clears the internal position list/stack and sets the position counter to 1.
+ * Clears the internal position counter and sets the position of the current level
+ * to 1 (if the passed 'node' is valid) or 0 (if the 'node' is invalid).
** @param node node to which the cursor should be set
** @return ID of the new current node if successful, 0 otherwise
*/
/// stack of node pointers. Used to store the cursor position of upper levels.
OFStack<T *> NodeCursorStack;
- /// current position within the current level
- size_t Position;
- /// list of position counters in upper levels
- OFList<size_t> PositionList;
+ /// counter for the current position within the current level and on upper levels
+ DSRPositionCounter Position;
};
DSRTreeNodeCursor<T>::DSRTreeNodeCursor()
: NodeCursor(NULL),
NodeCursorStack(),
- Position(0),
- PositionList()
+ Position()
{
}
DSRTreeNodeCursor<T>::DSRTreeNodeCursor(const DSRTreeNodeCursor<T> &cursor)
: NodeCursor(cursor.NodeCursor),
NodeCursorStack(cursor.NodeCursorStack),
- Position(cursor.Position),
- PositionList(cursor.PositionList)
+ Position(cursor.Position)
{
}
template<typename T>
-DSRTreeNodeCursor<T>::DSRTreeNodeCursor(T *node)
+DSRTreeNodeCursor<T>::DSRTreeNodeCursor(T *node,
+ const DSRPositionCounter *position)
: NodeCursor(node),
NodeCursorStack(),
- Position((node != NULL) ? 1 : 0),
- PositionList()
+ Position()
{
+ /* check whether a valid position counter is given */
+ if ((position != NULL) && position->isValid())
+ Position = *position;
+ else
+ Position.initialize(NodeCursor != NULL);
}
template<typename T>
DSRTreeNodeCursor<T> &DSRTreeNodeCursor<T>::operator=(const DSRTreeNodeCursor<T> &cursor)
{
- NodeCursor = cursor.NodeCursor;
- NodeCursorStack = cursor.NodeCursorStack;
- Position = cursor.Position;
- /* copy position list (operator= is not private anymore in class OFList) */
- PositionList = cursor.PositionList;
+ setCursor(cursor);
return *this;
}
{
NodeCursor = NULL;
clearNodeCursorStack();
- Position = 0;
- PositionList.clear();
+ Position.clear();
}
template<typename T>
-const T *DSRTreeNodeCursor<T>::getParentNode()
+const T *DSRTreeNodeCursor<T>::getParentNode() const
{
T *node = NULL;
if (hasParentNode())
- {
- /* this method is not "const" because of OFStack.top() */
node = NodeCursorStack.top();
- }
return node;
}
}
+template<typename T>
+const DSRTreeNodeCursor<T> &DSRTreeNodeCursor<T>::getCursor() const
+{
+ return *this;
+}
+
+
+template<typename T>
+void DSRTreeNodeCursor<T>::setCursor(const DSRTreeNodeCursor<T> &cursor)
+{
+ NodeCursor = cursor.NodeCursor;
+ NodeCursorStack = cursor.NodeCursorStack;
+ Position = cursor.Position;
+}
+
+
template<typename T>
size_t DSRTreeNodeCursor<T>::setCursor(T *node)
{
size_t nodeID = 0;
NodeCursor = node;
- clearNodeCursorStack();
- PositionList.clear();
if (NodeCursor != NULL)
- {
nodeID = NodeCursor->getIdent();
- Position = 1;
- } else
- Position = 0;
+ clearNodeCursorStack();
+ Position.initialize(NodeCursor != NULL);
return nodeID;
}
{
NodeCursor = cursor;
nodeID = NodeCursor->getIdent();
- if (!PositionList.empty())
- {
- Position = PositionList.back();
- PositionList.pop_back();
- }
+ Position.goUp();
}
}
}
NodeCursorStack.push(NodeCursor);
NodeCursor = NodeCursor->getDown();
nodeID = NodeCursor->getIdent();
- if (Position > 0)
- {
- PositionList.push_back(Position);
- Position = 1;
- }
+ Position.goDown();
}
}
return nodeID;
}
+template<typename T>
+size_t DSRTreeNodeCursor<T>::gotoParent()
+{
+ return goUp();
+}
+
+
+template<typename T>
+size_t DSRTreeNodeCursor<T>::gotoChild()
+{
+ return goDown();
+}
+
+
template<typename T>
size_t DSRTreeNodeCursor<T>::iterate(const OFBool searchIntoSub)
{
NodeCursorStack.push(NodeCursor);
NodeCursor = NodeCursor->getDown();
nodeID = NodeCursor->getIdent();
- if (Position > 0)
- {
- PositionList.push_back(Position);
- Position = 1;
- }
+ Position.goDown();
}
else if (NodeCursor->getNext() != NULL)
{
{
NodeCursor = NodeCursorStack.top();
NodeCursorStack.pop();
- if (!PositionList.empty())
- {
- Position = PositionList.back();
- PositionList.pop_back();
- }
+ Position.goUp();
} else
NodeCursor = NULL;
} while ((NodeCursor != NULL) && (NodeCursor->getNext() == NULL));
}
+template<typename T>
+DSRPositionCounter &DSRTreeNodeCursor<T>::getPositionCounter()
+{
+ return Position;
+}
+
+
template<typename T>
const OFString &DSRTreeNodeCursor<T>::getPosition(OFString &position,
const char separator) const
{
- position.clear();
- if (Position > 0)
- {
- char stringBuf[20];
- const OFListConstIterator(size_t) endPos = PositionList.end();
- OFListConstIterator(size_t) iterator = PositionList.begin();
- while (iterator != endPos)
- {
- if (!position.empty())
- position += separator;
- position += DSRTypes::numberToString(*iterator, stringBuf);
- iterator++;
- }
- if (!position.empty())
- position += separator;
- position += DSRTypes::numberToString(Position, stringBuf);
- }
- return position;
+ return Position.getString(position, separator);
}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmsr
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose:
+ * classes: DSRIncludedTemplateTreeNode
+ *
+ */
+
+
+#ifndef DSRTPLTN_H
+#define DSRTPLTN_H
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrdoctn.h"
+#include "dcmtk/dcmsr/dsrstpl.h"
+
+
+/*---------------------*
+ * class declaration *
+ *---------------------*/
+
+/** Class for managing included templates (internal)
+ */
+class DCMTK_DCMSR_EXPORT DSRIncludedTemplateTreeNode
+ : public DSRDocumentTreeNode
+{
+
+ public:
+
+ /** constructor.
+ * Also sets the template identification if available from 'referencedTemplate'.
+ ** @param referencedTemplate shared pointer to template that should be managed
+ * @param defaultRelType default relationship type of the included template
+ */
+ DSRIncludedTemplateTreeNode(const DSRSharedSubTemplate &referencedTemplate,
+ const E_RelationshipType defaultRelType);
+
+ /** copy constructor.
+ * Please note that the comments on the copy constructor of the base class
+ * DSRDocumentTreeNode apply.
+ ** @param node tree node to be copied
+ */
+ DSRIncludedTemplateTreeNode(const DSRIncludedTemplateTreeNode &node);
+
+ /** destructor
+ */
+ virtual ~DSRIncludedTemplateTreeNode();
+
+ /** clone this tree node.
+ * Internally, the copy constructor is used, so the corresponding comments apply.
+ ** @return copy of this tree node
+ */
+ virtual DSRIncludedTemplateTreeNode *clone() const;
+
+ /** clear all member variables.
+ * Please note that the content item becomes invalid afterwards.
+ */
+ virtual void clear();
+
+ /** check whether the content item is valid.
+ * The content item is valid if the base class is valid and the reference to the
+ * included template is valid.
+ ** @return OFTrue if tree node is valid, OFFalse otherwise
+ */
+ virtual OFBool isValid() const;
+
+ /** check whether the value of the content item, i.e.\ the reference to the included
+ * template is valid. See getValue().
+ ** @return OFTrue if the value is valid, OFFalse otherwise
+ */
+ virtual OFBool hasValidValue() const;
+
+ /** check whether the content is short.
+ * This method is used to check whether the rendered output of this content item can
+ * be expanded inline or not (used for renderHTML()).
+ ** @param flags flag used to customize the output (see DSRTypes::HF_xxx)
+ ** @return OFTrue if the content is short, OFFalse otherwise
+ */
+ virtual OFBool isShort(const size_t flags) const;
+
+ /** print content item.
+ * A typical output looks like this: # INCLUDE TID 1600 (DCMR)
+ ** @param stream output stream to which the content item should be printed
+ * @param flags flag used to customize the output (see DSRTypes::PF_xxx)
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition print(STD_NAMESPACE ostream &stream,
+ const size_t flags) const;
+
+ /** write content of included template in XML format
+ ** @param stream output stream to which the XML document is written
+ * @param flags flag used to customize the output (see DSRTypes::XF_xxx)
+ ** @return status, EC_Normal if successful (or included template is empty, so there
+ * is nothing to do), an error code otherwise
+ */
+ virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
+ const size_t flags) const;
+
+ /** get reference to included template, i.e.\ the value of this content item
+ ** @return reference to included template. The managed pointer might be NULL.
+ */
+ inline const DSRSharedSubTemplate &getValue() const
+ {
+ return ReferencedTemplate;
+ }
+
+ /** set reference to included template, i.e.\ the value of this content item.
+ * Currently, no checks are performed on the passed 'referencedTemplate' parameter.
+ ** @param referencedTemplate shared pointer to template that should be managed
+ ** @return status, EC_Normal if successful, an error code otherwise
+ */
+ virtual OFCondition setValue(const DSRSharedSubTemplate &referencedTemplate);
+
+
+ protected:
+
+ /** read content item from dataset
+ ** @param dataset dummy parameter
+ * @param constraintChecker dummy parameter
+ * @param flags dummy parameter
+ ** @return always returns SR_EC_CannotProcessIncludedTemplates
+ */
+ virtual OFCondition read(DcmItem &dataset,
+ const DSRIODConstraintChecker *constraintChecker,
+ const size_t flags);
+
+ /** write content item to dataset
+ ** @param dataset dummy parameter
+ * @param markedItems dummy parameter
+ ** @return always returns SR_EC_CannotProcessIncludedTemplates
+ */
+ virtual OFCondition write(DcmItem &dataset,
+ DcmStack *markedItems = NULL);
+
+ /** read general XML document tree node data
+ ** @param doc dummy parameter
+ * @param cursor dummy parameter
+ * @param documentType dummy parameter
+ * @param flags dummy parameter
+ ** @return always returns SR_EC_CannotProcessIncludedTemplates
+ */
+ virtual OFCondition readXML(const DSRXMLDocument &doc,
+ DSRXMLCursor cursor,
+ const E_DocumentType documentType,
+ const size_t flags);
+
+ /** render content item in HTML/XHTML format
+ ** @param docStream dummy parameter
+ * @param annexStream dummy parameter
+ * @param nestingLevel dummy parameter
+ * @param annexNumber dummy parameter
+ * @param flags dummy parameter
+ ** @return always returns SR_EC_CannotProcessIncludedTemplates
+ */
+ virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
+ STD_NAMESPACE ostream &annexStream,
+ const size_t nestingLevel,
+ size_t &annexNumber,
+ const size_t flags) const;
+
+ /** set the concept name
+ ** @param conceptName dummy parameter
+ * @param check dummy parameter
+ ** @return always returns EC_IllegalCall, since this method should not be called
+ */
+ virtual OFCondition setConceptName(const DSRCodedEntryValue &conceptName,
+ const OFBool check = OFTrue);
+
+ /** set observation date/time
+ ** @param observationDateTime dummy parameter
+ * @param check dummy parameter
+ ** @return always returns EC_IllegalCall, since this method should not be called
+ */
+ virtual OFCondition setObservationDateTime(const OFString &observationDateTime,
+ const OFBool check = OFTrue);
+
+ /** set observation date/time from element
+ ** @param delem dummy parameter
+ * @param pos dummy parameter
+ * @param check dummy parameter
+ ** @return always returns EC_IllegalCall, since this method should not be called
+ */
+ virtual OFCondition setObservationDateTime(const DcmElement &delem,
+ const unsigned long pos = 0,
+ const OFBool check = OFTrue);
+
+ /** set observation date/time from dataset
+ ** @param dataset dummy parameter
+ * @param tagKey dummy parameter
+ * @param pos dummy parameter
+ * @param check dummy parameter
+ ** @return always returns EC_IllegalCall, since this method should not be called
+ */
+ virtual OFCondition setObservationDateTime(DcmItem &dataset,
+ const DcmTagKey &tagKey,
+ const unsigned long pos = 0,
+ const OFBool check = OFTrue);
+
+ /** set observation unique identifier
+ ** @param observationUID dummy parameter
+ * @param check dummy parameter
+ ** @return always returns EC_IllegalCall, since this method should not be called
+ */
+ virtual OFCondition setObservationUID(const OFString &observationUID,
+ const OFBool check = OFTrue);
+
+ /** set template identifier and mapping resource
+ ** @param templateIdentifier dummy parameter
+ * @param mappingResource dummy parameter
+ * @param mappingResourceUID dummy parameter
+ * @param check dummy parameter
+ ** @return always returns EC_IllegalCall, since this method should not be called
+ */
+ virtual OFCondition setTemplateIdentification(const OFString &templateIdentifier,
+ const OFString &mappingResource,
+ const OFString &mappingResourceUID = "",
+ const OFBool check = OFTrue);
+
+
+ private:
+
+ /// shared pointer to included template that is managed by this class
+ DSRSharedSubTemplate ReferencedTemplate;
+
+
+ // --- declaration of default constructor and assignment operator
+
+ DSRIncludedTemplateTreeNode();
+ DSRIncludedTemplateTreeNode &operator=(const DSRIncludedTemplateTreeNode &);
+};
+
+
+#endif
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/** check whether tree has any nodes
** @return OFTrue if tree is empty, OFFalse otherwise
*/
- OFBool isEmpty() const;
+ inline OFBool isEmpty() const;
/** count number of nodes in the tree.
* This method iterates over all nodes that are stored in the tree.
* The node ID uniquely identifies a content item in the document tree.
** @return ID of the next node to be created (should never be 0)
*/
- size_t getNextNodeID() const;
+ inline size_t getNextNodeID() const;
/** set internal cursor to root node
** @return ID of root node if successful, 0 otherwise
*/
- size_t gotoRoot();
+ inline size_t gotoRoot();
/** set internal cursor to specified node
** @param searchID ID of the node to set the cursor to
/** add new node to the current one.
* Please note that no copy of the given node is created. Therefore, the node
* should be created with new() - do not use a reference to a local variable.
- * If the node could be added successfully the cursor is set to it automatically.
+ * If the node could be added successfully, the cursor is set to it automatically.
** @param node pointer to the new node to be added
* @param addMode flag specifying at which position to add the new node
- ** @return ID of the new added node if successful, 0 otherwise
+ ** @return ID of the new node if successful, 0 otherwise
*/
virtual size_t addNode(T *node,
const E_AddMode addMode = AM_afterCurrent);
+ /** replace current node by the given one.
+ * Please note that no copy of the given node is created. Therefore, the node
+ * should be created with new() - do not use a reference to a local variable. If
+ * the node could be replaced successfully, the "old" node (and all of its child
+ * nodes) are deleted, and the cursor is set to the new one.
+ ** @param node pointer to the new node to replace the current one
+ ** @return ID of the new node if successful, 0 otherwise
+ */
+ virtual size_t replaceNode(T *node);
+
/** extract current node from tree.
* Please note that not only the specified node but also all of its child nodes are
* extracted from the tree. The cursor is set automatically to a new valid position.
*/
virtual T *getRoot() const;
+ /** delete a tree given by its root node.
+ * Please note that the given 'rootNode' pointer becomes invalid afterwards.
+ ** @param rootNode pointer to the root node of the tree to be deleted
+ */
+ virtual void deleteTreeFromRootNode(T *rootNode);
+
private:
DSRTreeNodeCursor<T> cursor(RootNode);
if (cursor.isValid())
{
- T *node;
/* iterate over all nodes */
do {
- node = cursor.getNode();
- if (node != NULL)
- node->clearAnnotation();
+ cursor.getNode()->clearAnnotation();
} while (cursor.iterate());
}
}
else if (!this->NodeCursorStack.empty() && (this->Position == 1))
this->NodeCursorStack.top()->Down = node;
this->NodeCursor->Prev = lastNode;
+ /* check whether root node has been replaced */
+ if (this->NodeCursor == this->RootNode)
+ this->RootNode = node;
break;
case AM_belowCurrent:
/* store old position */
- if (this->Position > 0)
- {
- this->PositionList.push_back(this->Position);
- this->Position = 1;
- }
+ this->Position.goDown();
this->NodeCursorStack.push(this->NodeCursor);
/* parent node has already child nodes */
if (this->NodeCursor->Down != NULL)
break;
case AM_belowCurrentBeforeFirstChild:
/* store old position */
- if (this->Position > 0)
- {
- this->PositionList.push_back(this->Position);
- this->Position = 1;
- }
+ this->Position.goDown();
this->NodeCursorStack.push(this->NodeCursor);
/* parent node has already child nodes */
if (this->NodeCursor->Down != NULL)
}
this->NodeCursor = node;
} else {
+ /* originally, the tree was empty */
this->RootNode = this->NodeCursor = node;
- this->Position = 1;
+ this->Position.initialize();
}
nodeID = this->NodeCursor->getIdent();
}
}
+template<typename T>
+size_t DSRTree<T>::replaceNode(T *node)
+{
+ size_t nodeID = 0;
+ /* make sure that 'node' points to a single node or to the "root" of a subtree */
+ if ((node != NULL) && (node->Prev == NULL))
+ {
+ if (this->NodeCursor != NULL)
+ {
+ /* connect to previous node */
+ if (this->NodeCursor->Prev != NULL)
+ {
+ (this->NodeCursor->Prev)->Next = node;
+ /* remove reference to former sibling */
+ this->NodeCursor->Prev = NULL;
+ } else {
+ /* is there any direct parent node? */
+ if (!this->NodeCursorStack.empty())
+ {
+ DSRTreeNode *parent = this->NodeCursorStack.top();
+ if (parent != NULL)
+ parent->Down = node;
+ }
+ }
+ /* connect to next node */
+ if (this->NodeCursor->Next != NULL)
+ {
+ DSRTreeNode *lastNode = node;
+ /* goto last node (sibling), if any */
+ while (lastNode->Next != NULL)
+ lastNode = lastNode->Next;
+ (this->NodeCursor->Next)->Prev = lastNode;
+ lastNode->Next = this->NodeCursor->Next;
+ /* remove reference to former sibling */
+ this->NodeCursor->Next = NULL;
+ }
+ /* check whether root node has been replaced */
+ if (this->NodeCursor == this->RootNode)
+ this->RootNode = node;
+ /* free memory of old (now replaced) node */
+ deleteTreeFromRootNode(this->NodeCursor);
+ /* set cursor to new node */
+ this->NodeCursor = node;
+ nodeID = node->getIdent();
+ }
+ }
+ return nodeID;
+}
+
+
template<typename T>
T *DSRTree<T>::extractNode()
{
{
this->NodeCursor = this->NodeCursorStack.top();
this->NodeCursorStack.pop();
- this->Position = this->PositionList.back();
- this->PositionList.pop_back();
+ this->Position.goUp();
/* should never be NULL, but ... */
if (this->NodeCursor != NULL)
this->NodeCursor->Down = NULL;
else
{
this->RootNode = NULL; // tree is now empty
- this->Position = 0;
+ this->Position.clear();
}
} else {
this->RootNode = this->NodeCursor = NULL; // tree is now empty
- this->Position = 0;
- this->PositionList.clear();
+ this->Position.clear();
}
}
/* remove references to former siblings */
}
+template<typename T>
+void DSRTree<T>::deleteTreeFromRootNode(T *rootNode)
+{
+ /* create a temporary tree object from the given node, */
+ /* the content will be deleted during destruction */
+ DSRTree<T> tree(rootNode);
+}
+
+
#endif
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/// normal: a given coded entry is known as an extension of the context group
extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_CodedEntryIsExtensionOfContextGroup;
+/// error: a value violates the value set constraint of a particular template row
+extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_ValueSetConstraintViolated;
+
+/// error: the internally managed structure of a template class is invalid
+extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_InvalidTemplateStructure;
+
+/// error: cannot process document tree with included templates
+extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_CannotProcessIncludedTemplates;
+
//@}
/// read/write: template identification element encloses content items
static const size_t XF_templateElementEnclosesItems;
+ /// write: add comments with details at beginning/end of included template (might be useful for debugging purposes)
+ static const size_t XF_addCommentsForIncludedTemplate;
+
/// shortcut: combines all XF_xxxAsAttribute write flags (see above)
static const size_t XF_encodeEverythingAsAttribute;
//@}
/// print annotation of a content item (optional, e.g. user-defined information)
static const size_t PF_printAnnotation;
+ /// do not print internal "included template" nodes (position counter is still increased)
+ static const size_t PF_hideIncludedTemplateNodes;
+
/// shortcut: print all codes (combines all PF_printXxxCodes flags, see above)
static const size_t PF_printAllCodes;
//@}
DT_RadiopharmaceuticalRadiationDoseSR,
/// DICOM IOD: Extensible SR (not yet implemented)
DT_ExtensibleSR,
+ /// DICOM IOD: Acquisition Context SR
+ DT_AcquisitionContextSR,
/// internal type used to mark the last entry
- DT_last = DT_ExtensibleSR
+ DT_last = DT_AcquisitionContextSR
};
/** SR relationship types
VT_Container,
/// internal type used to indicate by-reference relationships
VT_byReference,
+ /// internal type used to indicate (enclose) included templates
+ VT_includedTemplate,
/// internal type used to mark the last entry
- VT_last = VT_byReference
+ VT_last = VT_includedTemplate
};
/** Softcopy presentation state types. Used for content item IMAGE.
CS_Hebrew,
/// ISO-IR 148: Latin alphabet No. 5
CS_Latin5,
- /// ISO-IR 13: Japanese (Katakana/Romaji)
- CS_Japanese,
/// ISO-IR 166: Thai
CS_Thai,
+ /// ISO-IR 13/87: Japanese (Katakana/Romaji/Kanji)
+ CS_Japanese,
+ /// ISO-IR 6/149: Korean (Hangul/Hanja)
+ CS_Korean,
+ /// ISO-IR 6/58: Chinese
+ CS_ChineseISO,
+ /// GB18030: Chinese
+ CS_ChineseGB18030,
+ /// GBK: Chinese
+ CS_ChineseGBK,
/// UTF-8: Unicode in UTF-8
CS_UTF8,
/// internal type used to mark the last entry
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
virtual OFBool isShort(const size_t flags) const;
/** print waveform reference.
- * The output of a typical waveform reference value looks like this: (HemodynamicWaveform
- * Storage,"1.2.3")
+ * The output of a typical waveform reference value looks like this:
+ * (HemodynamicWaveformStorage,"1.2.3")
* If the SOP class UID is unknown, the UID is printed instead of the related name.
** @param stream output stream to which the image reference value should be printed
* @param flags flag used to customize the output (see DSRTypes::PF_xxx)
/** check the specified SOP class UID for validity.
* This method further specializes the checks performed in the base class
* DSRCompositeReferenceValue. All waveform SOP classes that are defined
- * in DICOM PS 3.6-2014a are allowed.
+ * in DICOM PS 3.6-2015c are allowed.
** @param sopClassUID SOP class UID to be checked
** @return status, EC_Normal if value is valid, an error code otherwise
*/
/*
*
- * Copyright (C) 2005-2014, OFFIS e.V.
+ * Copyright (C) 2005-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* class declaration *
*---------------------*/
-/** Class for checking the relationship content constraints of the X-Ray Radiation Dose SR IOD
+/** Class for checking the relationship content constraints of the X-Ray Radiation Dose
+ * SR IOD.
+ * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 10001
+ * (Projection X-Ray Radiation Dose) or Baseline TID 10011 (CT Radiation Dose) invoked
+ * at the root node. Note: This IOD maybe used with other Templates defined for Dose
+ * Reporting. Such other Templates may be specialized for specific modalities or
+ * future dose measurement techniques."
*/
class DCMTK_DCMSR_EXPORT DSRXRayRadiationDoseSRConstraintChecker
: public DSRIODConstraintChecker
*/
virtual OFBool isTemplateSupportRequired() const;
- /** get identifier of the root template
- ** @return always returns NULL (no template required)
+ /** get identifier and mapping resource of the root template (if any)
+ ** @param templateIdentifier identifier of the root template (might be empty)
+ * @param mappingResource mapping resource that defines the root template
+ * (might be empty)
+ ** @return status, EC_Normal if successful, an error code otherwise
*/
- virtual const char *getRootTemplateIdentifier() const;
+ virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const;
/** get the associated document type of the SR IOD
** @return document type (DSRTypes::DT_XRayRadiationDoseSR)
# create library from source files
-DCMTK_ADD_LIBRARY(cmr init logger srnumvl tid1001 tid1204 tid1600 cid11 cid29 cid29e cid42 cid100 cid244 cid244e cid4020 cid4021 cid4031 cid4031e cid5000 cid5001 cid7021 cid7445 cid7452 cid7453 cid10013 cid10013e cid10033 cid10033e)
+DCMTK_ADD_LIBRARY(cmr init logger srnumvl tid1001 tid1204 tid1411 tid1500 tid1600 cid11 cid29 cid29e cid42 cid100 cid244 cid244e cid4020 cid4021 cid4031 cid4031e cid5000 cid5001 cid6147 cid7021 cid7181 cid7445 cid7452 cid7453 cid7464 cid7469 cid10013 cid10013e cid10033 cid10033e)
DCMTK_TARGET_LINK_MODULES(cmr dcmsr)
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmsr/dsdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h
+cid6147.o: cid6147.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/cid6147.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmsr/dsdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h
+cid7181.o: cid7181.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/cid7181.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmsr/dsdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h
+cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmsr/dsdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h
+cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/cid7452.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmsr/dsdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h
+cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h
-cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+cid7464.o: cid7464.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/cid7464.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h
-cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/cid7452.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+cid7469.o: cid7469.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/cid7469.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/cmr/define.h
-cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/init.h ../include/dcmtk/dcmsr/cmr/define.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../include/dcmtk/dcmsr/cmr/cid11.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/config.h \
- ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofcast.h \
- ../../ofstd/include/dcmtk/ofstd/ofexport.h \
- ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../oflog/include/dcmtk/oflog/config/defines.h \
../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
../../oflog/include/dcmtk/oflog/loglevel.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
- ../include/dcmtk/dcmsr/cmr/define.h
-init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/init.h ../include/dcmtk/dcmsr/cmr/define.h \
+ ../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/cmr/cid42.h \
+ ../include/dcmtk/dcmsr/cmr/cid100.h ../include/dcmtk/dcmsr/cmr/cid244.h \
+ ../include/dcmtk/dcmsr/cmr/cid4020.h \
+ ../include/dcmtk/dcmsr/cmr/cid4021.h \
+ ../include/dcmtk/dcmsr/cmr/cid4031.h \
+ ../include/dcmtk/dcmsr/cmr/cid5000.h \
+ ../include/dcmtk/dcmsr/cmr/cid5001.h \
+ ../include/dcmtk/dcmsr/cmr/cid6147.h \
+ ../include/dcmtk/dcmsr/cmr/cid7021.h \
+ ../include/dcmtk/dcmsr/cmr/cid7181.h \
+ ../include/dcmtk/dcmsr/cmr/cid7445.h \
+ ../include/dcmtk/dcmsr/cmr/cid7452.h \
+ ../include/dcmtk/dcmsr/cmr/cid7453.h \
+ ../include/dcmtk/dcmsr/cmr/cid7464.h \
+ ../include/dcmtk/dcmsr/cmr/cid7469.h \
+ ../include/dcmtk/dcmsr/cmr/cid10013.h \
+ ../include/dcmtk/dcmsr/cmr/cid10033.h
+logger.o: logger.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/logger.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
../../ofstd/include/dcmtk/ofstd/ofdefine.h \
../../ofstd/include/dcmtk/ofstd/ofcast.h \
../../ofstd/include/dcmtk/ofstd/ofexport.h \
../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../include/dcmtk/dcmsr/cmr/cid11.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/dcmsr/cmr/define.h
+srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../oflog/include/dcmtk/oflog/config/defines.h \
../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
../../oflog/include/dcmtk/oflog/loglevel.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
- ../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/cmr/cid42.h \
- ../include/dcmtk/dcmsr/cmr/cid100.h ../include/dcmtk/dcmsr/cmr/cid244.h \
- ../include/dcmtk/dcmsr/cmr/cid4020.h \
- ../include/dcmtk/dcmsr/cmr/cid4021.h \
- ../include/dcmtk/dcmsr/cmr/cid4031.h \
- ../include/dcmtk/dcmsr/cmr/cid5000.h \
- ../include/dcmtk/dcmsr/cmr/cid5001.h \
- ../include/dcmtk/dcmsr/cmr/cid7021.h \
- ../include/dcmtk/dcmsr/cmr/cid7445.h \
- ../include/dcmtk/dcmsr/cmr/cid7452.h \
- ../include/dcmtk/dcmsr/cmr/cid7453.h \
- ../include/dcmtk/dcmsr/cmr/cid10013.h \
- ../include/dcmtk/dcmsr/cmr/cid10033.h
-logger.o: logger.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/logger.h \
+ ../include/dcmtk/dcmsr/cmr/cid42.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/cmr/define.h
+tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/tid1001.h ../include/dcmtk/dcmsr/dsrstpl.h \
+ ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \
+ ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/config.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
- ../include/dcmtk/dcmsr/cmr/define.h
-srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/dsrnumvl.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstack.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
+ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
+ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrsc3vl.h \
+ ../include/dcmtk/dcmsr/dsrsc3gr.h ../include/dcmtk/dcmsr/dsrtcovl.h \
+ ../include/dcmtk/dcmsr/dsrtcodt.h ../include/dcmtk/dcmsr/dsrtcosp.h \
+ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
+ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
+ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid7445.h \
+ ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid7452.h \
+ ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/codes/dcm.h
+tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/tid1204.h ../include/dcmtk/dcmsr/dsrstpl.h \
+ ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \
+ ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmsr/dsdefine.h \
+ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstack.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
- ../include/dcmtk/dcmsr/cmr/cid42.h ../include/dcmtk/dcmsr/dsrctxgr.h \
- ../include/dcmtk/dcmsr/cmr/define.h
-tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/tid1001.h ../include/dcmtk/dcmsr/dsrstpl.h \
+ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
+ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
+ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrsc3vl.h \
+ ../include/dcmtk/dcmsr/dsrsc3gr.h ../include/dcmtk/dcmsr/dsrtcovl.h \
+ ../include/dcmtk/dcmsr/dsrtcodt.h ../include/dcmtk/dcmsr/dsrtcosp.h \
+ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
+ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
+ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid5000.h \
+ ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid5001.h \
+ ../include/dcmtk/dcmsr/codes/dcm.h
+tid1411.o: tid1411.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/tid1411.h ../include/dcmtk/dcmsr/dsrstpl.h \
../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
- ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid7445.h \
- ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid7452.h \
- ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/codes/dcm.h
-tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/cmr/tid1204.h ../include/dcmtk/dcmsr/dsrstpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvlu.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/cmr/cid42.h \
+ ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid6147.h \
+ ../include/dcmtk/dcmsr/cmr/cid7181.h \
+ ../include/dcmtk/dcmsr/cmr/cid7464.h \
+ ../include/dcmtk/dcmsr/cmr/cid7469.h ../include/dcmtk/dcmsr/cmr/logger.h \
+ ../include/dcmtk/dcmsr/codes/dcm.h ../include/dcmtk/dcmsr/codes/ncit.h \
+ ../include/dcmtk/dcmsr/codes/srt.h ../include/dcmtk/dcmsr/codes/umls.h
+tid1500.o: tid1500.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/cmr/tid1500.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
- ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid5000.h \
- ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid5001.h \
- ../include/dcmtk/dcmsr/codes/dcm.h
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/cmr/define.h \
+ ../include/dcmtk/dcmsr/cmr/tid1001.h \
+ ../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/cmr/cid7452.h \
+ ../include/dcmtk/dcmsr/cmr/cid7453.h \
+ ../include/dcmtk/dcmsr/cmr/tid1204.h \
+ ../include/dcmtk/dcmsr/cmr/cid5000.h \
+ ../include/dcmtk/dcmsr/cmr/cid5001.h \
+ ../include/dcmtk/dcmsr/cmr/tid1411.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvlu.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/cmr/cid42.h \
+ ../include/dcmtk/dcmsr/cmr/tid1600.h \
+ ../include/dcmtk/dcmsr/cmr/cid4020.h \
+ ../include/dcmtk/dcmsr/cmr/cid4021.h ../include/dcmtk/dcmsr/cmr/cid100.h \
+ ../include/dcmtk/dcmsr/cmr/cid6147.h \
+ ../include/dcmtk/dcmsr/cmr/cid7021.h \
+ ../include/dcmtk/dcmsr/cmr/cid7181.h \
+ ../include/dcmtk/dcmsr/cmr/cid7464.h \
+ ../include/dcmtk/dcmsr/cmr/cid7469.h ../include/dcmtk/dcmsr/cmr/logger.h \
+ ../include/dcmtk/dcmsr/codes/dcm.h ../include/dcmtk/dcmsr/codes/umls.h \
+ ../include/dcmtk/dcmsr/dsrtpltn.h
tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/cmr/tid1600.h ../include/dcmtk/dcmsr/dsrstpl.h \
../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
- ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid29e.h \
- ../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/dsrctxgr.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid4020.h \
+ ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid4021.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/cmr/cid42.h \
+ ../include/dcmtk/dcmsr/cmr/cid29e.h ../include/dcmtk/dcmsr/cmr/cid29.h \
../include/dcmtk/dcmsr/cmr/cid244e.h ../include/dcmtk/dcmsr/cmr/cid244.h \
../include/dcmtk/dcmsr/cmr/cid4031e.h \
../include/dcmtk/dcmsr/cmr/cid4031.h \
-I$(dcmsr)/include
LOCALDEFS =
-objs = init.o logger.o srnumvl.o tid1001.o tid1204.o tid1600.o \
+objs = init.o logger.o srnumvl.o tid1001.o tid1204.o tid1411.o tid1500.o tid1600.o \
cid11.o cid29.o cid29e.o cid42.o cid100.o cid244.o cid244e.o cid4020.o \
- cid4021.o cid4031.o cid4031e.o cid5000.o cid5001.o cid7021.o cid7445.o \
- cid7452.o cid7453.o cid10013.o cid10013e.o cid10033.o cid10033e.o
+ cid4021.o cid4031.o cid4031e.o cid5000.o cid5001.o cid6147.o cid7021.o \
+ cid7181.o cid7445.o cid7452.o cid7453.o cid7464.o cid7469.o cid10013.o \
+ cid10013e.o cid10033.o cid10033e.o
library = libcmr.$(LIBEXT)
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID100_QuantitativeDiagnosticImagingProcedures
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-26 19:54:59 by J. Riesmeier
+ * File created on 2016-01-08 15:04:42 by J. Riesmeier
*
*/
Codes->insert(OFMake_pair(PETCT_METImagingOfWholeBody, DSRBasicCodedEntry("P5-08118", "SRT", "PET/CT MET imaging of whole body")));
Codes->insert(OFMake_pair(CT_HEAD_PERFUSION_WITH_IV_CONTRAST, DSRBasicCodedEntry("RPID96", "RADLEX", "CT HEAD PERFUSION WITH IV CONTRAST")));
Codes->insert(OFMake_pair(NM_HEAD_PERFUSION_BRAIN_SPECT, DSRBasicCodedEntry("RPID5258", "RADLEX", "NM HEAD PERFUSION BRAIN SPECT")));
- Codes->insert(OFMake_pair(NM_HEAD_PERFUSION_BRAIN_PET_CT_AV_45, DSRBasicCodedEntry("RPID5427", "RADLEX", "NM HEAD PERFUSION BRAIN PET-CT AV-45")));
+ Codes->insert(OFMake_pair(NM_HEAD_PERFUSION_BRAIN_PET_CT_AV45, DSRBasicCodedEntry("RPID5427", "RADLEX", "NM HEAD PERFUSION BRAIN PET-CT AV-45")));
}
/* should never be NULL */
return *Codes;
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID10013_CTAcquisitionType
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:14 by J. Riesmeier
+ * File created on 2016-01-08 15:05:05 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID10033_CTReconstructionAlgorithm
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:16 by J. Riesmeier
+ * File created on 2016-01-08 15:05:06 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID11_RouteOfAdministration
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:24:57 by J. Riesmeier
+ * File created on 2016-01-08 15:04:37 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID244_Laterality
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:02 by J. Riesmeier
+ * File created on 2016-01-08 15:04:44 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID29_AcquisitionModality
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:24:58 by J. Riesmeier
+ * File created on 2016-01-08 15:04:39 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID4020_PETRadionuclide
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:03 by J. Riesmeier
+ * File created on 2016-01-08 15:04:46 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID4021_PETRadiopharmaceutical
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:05 by J. Riesmeier
+ * File created on 2016-01-08 15:04:47 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID4031_CommonAnatomicRegions
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:07 by J. Riesmeier
+ * File created on 2016-01-08 15:04:49 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID42_NumericValueQualifier
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:00 by J. Riesmeier
+ * File created on 2016-01-08 15:04:41 by J. Riesmeier
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class CID6147_ResponseCriteria
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-08 15:04:51 by J. Riesmeier
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/cmr/cid6147.h"
+
+
+// general information on CID 6147 (Response Criteria)
+#define CONTEXT_GROUP_NUMBER "6147"
+#define CONTEXT_GROUP_VERSION "20141110"
+#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.1004"
+#define CONTEXT_GROUP_TYPE OFTrue /* extensible */
+
+// initialize global/static variable
+CID6147_ResponseCriteria::CodeList *CID6147_ResponseCriteria::Codes = NULL;
+
+
+CID6147_ResponseCriteria::CID6147_ResponseCriteria(const DSRCodedEntryValue &selectedValue)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue)
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+CID6147_ResponseCriteria::CID6147_ResponseCriteria(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode))
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+OFCondition CID6147_ResponseCriteria::selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+{
+ /* never check the coded entry */
+ return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/);
+}
+
+
+OFCondition CID6147_ResponseCriteria::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode) const
+{
+ OFCondition result = SR_EC_CodedEntryNotInContextGroup;
+ /* first, search for standard codes */
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ /* if found, exit loop */
+ if (searchForCodedEntry == iter->second)
+ {
+ /* return coded entry (if requested) */
+ if (foundCodedEntry != NULL)
+ {
+ *foundCodedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!foundCodedEntry->isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(*foundCodedEntry);
+ }
+ result = SR_EC_CodedEntryInStandardContextGroup;
+ break;
+ }
+ ++iter;
+ }
+ /* if not, continue with extended codes */
+ if (result.bad())
+ {
+ result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry);
+ /* tbd: set "enhanced encoding mode" to mark a local/extended version? */
+ }
+ return result;
+}
+
+
+void CID6147_ResponseCriteria::printCodes(STD_NAMESPACE ostream &stream) const
+{
+ /* print standard codes */
+ stream << "Standard codes:" << OFendl;
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ stream << " ";
+ /* print coded entry */
+ DSRCodedEntryValue(iter->second).print(stream);
+ stream << OFendl;
+ ++iter;
+ }
+ /* print extended codes */
+ DSRContextGroup::printCodes(stream);
+}
+
+
+// static functions
+
+void CID6147_ResponseCriteria::initialize()
+{
+ /* create and initialize code list */
+ getCodes();
+}
+
+
+void CID6147_ResponseCriteria::cleanup()
+{
+ /* delete code list, it will be recreated automatically when needed */
+ delete Codes;
+ Codes = NULL;
+}
+
+
+DSRCodedEntryValue CID6147_ResponseCriteria::getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode)
+{
+ DSRCodedEntryValue codedEntry;
+ /* search for given enumerated value */
+ CodeList::iterator iter = getCodes().find(value);
+ /* if found, set the coded entry */
+ if (iter != getCodes().end())
+ {
+ codedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!codedEntry.isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(codedEntry);
+ }
+ return codedEntry;
+}
+
+
+CID6147_ResponseCriteria::CodeList &CID6147_ResponseCriteria::getCodes()
+{
+ /* check whether code list has already been created and initialized */
+ if (Codes == NULL)
+ {
+ /* create a new code list (should never fail) */
+ Codes = new CodeList();
+ /* and initialize it by adding the coded entries */
+ Codes->insert(OFMake_pair(WHO, DSRBasicCodedEntry("112029", "DCM", "WHO")));
+ Codes->insert(OFMake_pair(RECIST10, DSRBasicCodedEntry("126080", "DCM", "RECIST 1.0")));
+ Codes->insert(OFMake_pair(RECIST11, DSRBasicCodedEntry("126081", "DCM", "RECIST 1.1")));
+ Codes->insert(OFMake_pair(RANO, DSRBasicCodedEntry("C114879", "NCIt", "RANO")));
+ }
+ /* should never be NULL */
+ return *Codes;
+}
+
+
+OFCondition CID6147_ResponseCriteria::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue)
+{
+ return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID);
+}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID7021_MeasurementReportDocumentTitles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-26 19:55:09 by J. Riesmeier
+ * File created on 2016-01-08 15:04:52 by J. Riesmeier
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class CID7181_AbstractMultiDimensionalImageModelComponentUnits
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-08 15:04:54 by J. Riesmeier
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/cmr/cid7181.h"
+
+
+// general information on CID 7181 (Abstract Multi-dimensional Image Model Component Units)
+#define CONTEXT_GROUP_NUMBER "7181"
+#define CONTEXT_GROUP_VERSION "20141110"
+#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.918"
+#define CONTEXT_GROUP_TYPE OFTrue /* extensible */
+
+// initialize global/static variable
+CID7181_AbstractMultiDimensionalImageModelComponentUnits::CodeList *CID7181_AbstractMultiDimensionalImageModelComponentUnits::Codes = NULL;
+
+
+CID7181_AbstractMultiDimensionalImageModelComponentUnits::CID7181_AbstractMultiDimensionalImageModelComponentUnits(const DSRCodedEntryValue &selectedValue)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue)
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+CID7181_AbstractMultiDimensionalImageModelComponentUnits::CID7181_AbstractMultiDimensionalImageModelComponentUnits(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode))
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+OFCondition CID7181_AbstractMultiDimensionalImageModelComponentUnits::selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+{
+ /* never check the coded entry */
+ return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/);
+}
+
+
+OFCondition CID7181_AbstractMultiDimensionalImageModelComponentUnits::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode) const
+{
+ OFCondition result = SR_EC_CodedEntryNotInContextGroup;
+ /* first, search for standard codes */
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ /* if found, exit loop */
+ if (searchForCodedEntry == iter->second)
+ {
+ /* return coded entry (if requested) */
+ if (foundCodedEntry != NULL)
+ {
+ *foundCodedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!foundCodedEntry->isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(*foundCodedEntry);
+ }
+ result = SR_EC_CodedEntryInStandardContextGroup;
+ break;
+ }
+ ++iter;
+ }
+ /* if not, continue with extended codes */
+ if (result.bad())
+ {
+ result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry);
+ /* tbd: set "enhanced encoding mode" to mark a local/extended version? */
+ }
+ return result;
+}
+
+
+void CID7181_AbstractMultiDimensionalImageModelComponentUnits::printCodes(STD_NAMESPACE ostream &stream) const
+{
+ /* print standard codes */
+ stream << "Standard codes:" << OFendl;
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ stream << " ";
+ /* print coded entry */
+ DSRCodedEntryValue(iter->second).print(stream);
+ stream << OFendl;
+ ++iter;
+ }
+ /* print extended codes */
+ DSRContextGroup::printCodes(stream);
+}
+
+
+// static functions
+
+void CID7181_AbstractMultiDimensionalImageModelComponentUnits::initialize()
+{
+ /* create and initialize code list */
+ getCodes();
+}
+
+
+void CID7181_AbstractMultiDimensionalImageModelComponentUnits::cleanup()
+{
+ /* delete code list, it will be recreated automatically when needed */
+ delete Codes;
+ Codes = NULL;
+}
+
+
+DSRCodedEntryValue CID7181_AbstractMultiDimensionalImageModelComponentUnits::getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode)
+{
+ DSRCodedEntryValue codedEntry;
+ /* search for given enumerated value */
+ CodeList::iterator iter = getCodes().find(value);
+ /* if found, set the coded entry */
+ if (iter != getCodes().end())
+ {
+ codedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!codedEntry.isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(codedEntry);
+ }
+ return codedEntry;
+}
+
+
+CID7181_AbstractMultiDimensionalImageModelComponentUnits::CodeList &CID7181_AbstractMultiDimensionalImageModelComponentUnits::getCodes()
+{
+ /* check whether code list has already been created and initialized */
+ if (Codes == NULL)
+ {
+ /* create a new code list (should never fail) */
+ Codes = new CodeList();
+ /* and initialize it by adding the coded entries */
+ Codes->insert(OFMake_pair(MmHg, DSRBasicCodedEntry("mm[Hg]", "UCUM", "mmHg")));
+ Codes->insert(OFMake_pair(KPa, DSRBasicCodedEntry("kPa", "UCUM", "kPa")));
+ Codes->insert(OFMake_pair(PRU, DSRBasicCodedEntry("[PRU]", "UCUM", "P.R.U.")));
+ Codes->insert(OFMake_pair(WoodU, DSRBasicCodedEntry("[wood'U]", "UCUM", "Wood U")));
+ Codes->insert(OFMake_pair(Dynscm5, DSRBasicCodedEntry("dyn.s.cm-5", "UCUM", "dyn.s.cm-5")));
+ Codes->insert(OFMake_pair(PRUPerM2, DSRBasicCodedEntry("[PRU]/m2", "UCUM", "P.R.U./m2")));
+ Codes->insert(OFMake_pair(WoodUPerM2, DSRBasicCodedEntry("[wood'U]/m2", "UCUM", "Wood U/m2")));
+ Codes->insert(OFMake_pair(Dynscm5PerM2, DSRBasicCodedEntry("dyn.s.cm-5/m2", "UCUM", "dyn.s.cm-5/m2")));
+ Codes->insert(OFMake_pair(Centimeter, DSRBasicCodedEntry("cm", "UCUM", "centimeter")));
+ Codes->insert(OFMake_pair(Millimeter, DSRBasicCodedEntry("mm", "UCUM", "millimeter")));
+ Codes->insert(OFMake_pair(Micrometer, DSRBasicCodedEntry("um", "UCUM", "micrometer")));
+ Codes->insert(OFMake_pair(SquareCentimeter, DSRBasicCodedEntry("cm2", "UCUM", "square centimeter")));
+ Codes->insert(OFMake_pair(SquareMillimeter, DSRBasicCodedEntry("mm2", "UCUM", "square millimeter")));
+ Codes->insert(OFMake_pair(SquareMicrometer, DSRBasicCodedEntry("um2", "UCUM", "square micrometer")));
+ Codes->insert(OFMake_pair(CubicDecimeter, DSRBasicCodedEntry("dm3", "UCUM", "cubic decimeter")));
+ Codes->insert(OFMake_pair(CubicCentimeter, DSRBasicCodedEntry("cm3", "UCUM", "cubic centimeter")));
+ Codes->insert(OFMake_pair(CubicMillimeter, DSRBasicCodedEntry("mm3", "UCUM", "cubic millimeter")));
+ Codes->insert(OFMake_pair(CubicMicrometer, DSRBasicCodedEntry("um3", "UCUM", "cubic micrometer")));
+ Codes->insert(OFMake_pair(StandardizedUptakeValueBodyWeight, DSRBasicCodedEntry("{SUVbw}g/ml", "UCUM", "Standardized Uptake Value body weight")));
+ Codes->insert(OFMake_pair(StandardizedUptakeValueLeanBodyMass, DSRBasicCodedEntry("{SUVlbm}g/ml", "UCUM", "Standardized Uptake Value lean body mass")));
+ Codes->insert(OFMake_pair(StandardizedUptakeValueBodySurfaceArea, DSRBasicCodedEntry("{SUVbsa}cm2/ml", "UCUM", "Standardized Uptake Value body surface area")));
+ Codes->insert(OFMake_pair(StandardizedUptakeValueIdealBodyWeight, DSRBasicCodedEntry("{SUVibw}g/ml", "UCUM", "Standardized Uptake Value ideal body weight")));
+ Codes->insert(OFMake_pair(Counts, DSRBasicCodedEntry("{counts}", "UCUM", "Counts")));
+ Codes->insert(OFMake_pair(CountsPerSecond, DSRBasicCodedEntry("{counts}/s", "UCUM", "Counts per second")));
+ Codes->insert(OFMake_pair(ProportionalToCounts, DSRBasicCodedEntry("{propcounts}", "UCUM", "Proportional to counts")));
+ Codes->insert(OFMake_pair(ProportionalToCountsPerSecond, DSRBasicCodedEntry("{propcounts}/s", "UCUM", "Proportional to counts per second")));
+ Codes->insert(OFMake_pair(Percent, DSRBasicCodedEntry("%", "UCUM", "Percent")));
+ Codes->insert(OFMake_pair(BecquerelsPerMilliliter, DSRBasicCodedEntry("Bq/ml", "UCUM", "Becquerels/milliliter")));
+ Codes->insert(OFMake_pair(MilligramsPerMinutePerMilliliter, DSRBasicCodedEntry("mg/min/ml", "UCUM", "Milligrams/minute/milliliter")));
+ Codes->insert(OFMake_pair(MicromolePerMinutePerMilliliter, DSRBasicCodedEntry("umol/min/ml", "UCUM", "Micromole/minute/milliliter")));
+ Codes->insert(OFMake_pair(MilliliterPerMinutePerGram, DSRBasicCodedEntry("ml/min/g", "UCUM", "Milliliter/minute/gram")));
+ Codes->insert(OFMake_pair(MilliliterPerGram, DSRBasicCodedEntry("ml/g", "UCUM", "Milliliter/gram")));
+ Codes->insert(OFMake_pair(PerCentimeter, DSRBasicCodedEntry("/cm", "UCUM", "/Centimeter")));
+ Codes->insert(OFMake_pair(MicromolePerMilliliter, DSRBasicCodedEntry("umol/ml", "UCUM", "Micromole/milliliter")));
+ Codes->insert(OFMake_pair(NoUnits, DSRBasicCodedEntry("1", "UCUM", "no units")));
+ Codes->insert(OFMake_pair(Ratio, DSRBasicCodedEntry("{ratio}", "UCUM", "ratio")));
+ Codes->insert(OFMake_pair(HounsfieldUnit, DSRBasicCodedEntry("[hnsf'U]", "UCUM", "Hounsfield Unit")));
+ Codes->insert(OFMake_pair(ArbitraryUnit, DSRBasicCodedEntry("[arb'U]", "UCUM", "arbitrary unit")));
+ Codes->insert(OFMake_pair(CentimeterPerSecond, DSRBasicCodedEntry("cm/s", "UCUM", "centimeter/second")));
+ Codes->insert(OFMake_pair(MillimeterPerSecond, DSRBasicCodedEntry("mm/s", "UCUM", "millimeter/second")));
+ Codes->insert(OFMake_pair(Decibel, DSRBasicCodedEntry("dB", "UCUM", "decibel")));
+ Codes->insert(OFMake_pair(DegreesCelsius, DSRBasicCodedEntry("Cel", "UCUM", "degrees Celsius")));
+ Codes->insert(OFMake_pair(MilliliterPerMinute, DSRBasicCodedEntry("ml/min", "UCUM", "milliliter per minute")));
+ Codes->insert(OFMake_pair(MilliliterPerSecond, DSRBasicCodedEntry("ml/s", "UCUM", "milliliter per second")));
+ Codes->insert(OFMake_pair(Millisecond, DSRBasicCodedEntry("ms", "UCUM", "millisecond")));
+ Codes->insert(OFMake_pair(Second, DSRBasicCodedEntry("s", "UCUM", "second")));
+ Codes->insert(OFMake_pair(Hertz, DSRBasicCodedEntry("Hz", "UCUM", "Hertz")));
+ Codes->insert(OFMake_pair(MilliTesla, DSRBasicCodedEntry("mT", "UCUM", "milliTesla")));
+ Codes->insert(OFMake_pair(NumberParticlesPer100GramOfTissue, DSRBasicCodedEntry("{Particles}/[100]g{Tissue}", "UCUM", "number particles per 100 gram of tissue")));
+ Codes->insert(OFMake_pair(SquareMillimeterPerSecond, DSRBasicCodedEntry("mm2/s", "UCUM", "square millimeter per second")));
+ Codes->insert(OFMake_pair(SecondPerSquareMillimeter, DSRBasicCodedEntry("s/mm2", "UCUM", "second per square millimeter")));
+ Codes->insert(OFMake_pair(MilliliterPer100GramPerMinute, DSRBasicCodedEntry("ml/[100]g/min", "UCUM", "milliliter per 100 gram per minute")));
+ Codes->insert(OFMake_pair(MilliliterPer100Milliliter, DSRBasicCodedEntry("ml/[100]ml", "UCUM", "milliliter per 100 milliliter")));
+ Codes->insert(OFMake_pair(MillimolesPerKgWetWeight, DSRBasicCodedEntry("mmol/kg{WetWeight}", "UCUM", "millimoles per kg wet weight")));
+ Codes->insert(OFMake_pair(PerMin, DSRBasicCodedEntry("/min", "UCUM", "/min")));
+ Codes->insert(OFMake_pair(PerS, DSRBasicCodedEntry("/s", "UCUM", "/s")));
+ }
+ /* should never be NULL */
+ return *Codes;
+}
+
+
+OFCondition CID7181_AbstractMultiDimensionalImageModelComponentUnits::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue)
+{
+ return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID);
+}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID7445_DeviceParticipatingRoles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:09 by J. Riesmeier
+ * File created on 2016-01-08 15:04:56 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID7452_OrganizationalRoles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:10 by J. Riesmeier
+ * File created on 2016-01-08 15:04:58 by J. Riesmeier
*
*/
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CID7453_PerformingRoles
*
* Generated automatically from DICOM PS 3.16-2015c
- * File created on 2015-08-23 15:25:12 by J. Riesmeier
+ * File created on 2016-01-08 15:04:59 by J. Riesmeier
*
*/
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class CID7464_GeneralRegionOfInterestMeasurementModifiers
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-08 15:05:01 by J. Riesmeier
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/cmr/cid7464.h"
+
+
+// general information on CID 7464 (General Region of Interest Measurement Modifiers)
+#define CONTEXT_GROUP_NUMBER "7464"
+#define CONTEXT_GROUP_VERSION "20121101"
+#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.951"
+#define CONTEXT_GROUP_TYPE OFTrue /* extensible */
+
+// initialize global/static variable
+CID7464_GeneralRegionOfInterestMeasurementModifiers::CodeList *CID7464_GeneralRegionOfInterestMeasurementModifiers::Codes = NULL;
+
+
+CID7464_GeneralRegionOfInterestMeasurementModifiers::CID7464_GeneralRegionOfInterestMeasurementModifiers(const DSRCodedEntryValue &selectedValue)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue)
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+CID7464_GeneralRegionOfInterestMeasurementModifiers::CID7464_GeneralRegionOfInterestMeasurementModifiers(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode))
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+OFCondition CID7464_GeneralRegionOfInterestMeasurementModifiers::selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+{
+ /* never check the coded entry */
+ return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/);
+}
+
+
+OFCondition CID7464_GeneralRegionOfInterestMeasurementModifiers::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode) const
+{
+ OFCondition result = SR_EC_CodedEntryNotInContextGroup;
+ /* first, search for standard codes */
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ /* if found, exit loop */
+ if (searchForCodedEntry == iter->second)
+ {
+ /* return coded entry (if requested) */
+ if (foundCodedEntry != NULL)
+ {
+ *foundCodedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!foundCodedEntry->isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(*foundCodedEntry);
+ }
+ result = SR_EC_CodedEntryInStandardContextGroup;
+ break;
+ }
+ ++iter;
+ }
+ /* if not, continue with extended codes */
+ if (result.bad())
+ {
+ result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry);
+ /* tbd: set "enhanced encoding mode" to mark a local/extended version? */
+ }
+ return result;
+}
+
+
+void CID7464_GeneralRegionOfInterestMeasurementModifiers::printCodes(STD_NAMESPACE ostream &stream) const
+{
+ /* print standard codes */
+ stream << "Standard codes:" << OFendl;
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ stream << " ";
+ /* print coded entry */
+ DSRCodedEntryValue(iter->second).print(stream);
+ stream << OFendl;
+ ++iter;
+ }
+ /* print extended codes */
+ DSRContextGroup::printCodes(stream);
+}
+
+
+// static functions
+
+void CID7464_GeneralRegionOfInterestMeasurementModifiers::initialize()
+{
+ /* create and initialize code list */
+ getCodes();
+}
+
+
+void CID7464_GeneralRegionOfInterestMeasurementModifiers::cleanup()
+{
+ /* delete code list, it will be recreated automatically when needed */
+ delete Codes;
+ Codes = NULL;
+}
+
+
+DSRCodedEntryValue CID7464_GeneralRegionOfInterestMeasurementModifiers::getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode)
+{
+ DSRCodedEntryValue codedEntry;
+ /* search for given enumerated value */
+ CodeList::iterator iter = getCodes().find(value);
+ /* if found, set the coded entry */
+ if (iter != getCodes().end())
+ {
+ codedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!codedEntry.isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(codedEntry);
+ }
+ return codedEntry;
+}
+
+
+CID7464_GeneralRegionOfInterestMeasurementModifiers::CodeList &CID7464_GeneralRegionOfInterestMeasurementModifiers::getCodes()
+{
+ /* check whether code list has already been created and initialized */
+ if (Codes == NULL)
+ {
+ /* create a new code list (should never fail) */
+ Codes = new CodeList();
+ /* and initialize it by adding the coded entries */
+ Codes->insert(OFMake_pair(Maximum, DSRBasicCodedEntry("G-A437", "SRT", "Maximum")));
+ Codes->insert(OFMake_pair(Minimum, DSRBasicCodedEntry("R-404FB", "SRT", "Minimum")));
+ Codes->insert(OFMake_pair(Mean, DSRBasicCodedEntry("R-00317", "SRT", "Mean")));
+ Codes->insert(OFMake_pair(StandardDeviation, DSRBasicCodedEntry("R-10047", "SRT", "Standard Deviation")));
+ Codes->insert(OFMake_pair(Total, DSRBasicCodedEntry("R-40507", "SRT", "Total")));
+ Codes->insert(OFMake_pair(Median, DSRBasicCodedEntry("R-00319", "SRT", "Median")));
+ Codes->insert(OFMake_pair(Mode, DSRBasicCodedEntry("R-0032E", "SRT", "Mode")));
+ Codes->insert(OFMake_pair(PeakValueWithinROI, DSRBasicCodedEntry("126031", "DCM", "Peak Value Within ROI")));
+ Codes->insert(OFMake_pair(CoefficientOfVariance, DSRBasicCodedEntry("C0681921", "UMLS", "Coefficient of Variance")));
+ Codes->insert(OFMake_pair(Skewness, DSRBasicCodedEntry("126051", "DCM", "Skewness")));
+ Codes->insert(OFMake_pair(Kurtosis, DSRBasicCodedEntry("126052", "DCM", "Kurtosis")));
+ Codes->insert(OFMake_pair(Variance, DSRBasicCodedEntry("C1711260", "UMLS", "Variance")));
+ Codes->insert(OFMake_pair(RootMeanSquare, DSRBasicCodedEntry("C2347976", "UMLS", "Root Mean Square")));
+ }
+ /* should never be NULL */
+ return *Codes;
+}
+
+
+OFCondition CID7464_GeneralRegionOfInterestMeasurementModifiers::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue)
+{
+ return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID);
+}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class CID7469_GenericIntensityAndSizeMeasurements
+ *
+ * Generated automatically from DICOM PS 3.16-2015c
+ * File created on 2016-01-08 15:05:03 by J. Riesmeier
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/cmr/cid7469.h"
+
+
+// general information on CID 7469 (Generic Intensity and Size Measurements)
+#define CONTEXT_GROUP_NUMBER "7469"
+#define CONTEXT_GROUP_VERSION "20141110"
+#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.1003"
+#define CONTEXT_GROUP_TYPE OFTrue /* extensible */
+
+// initialize global/static variable
+CID7469_GenericIntensityAndSizeMeasurements::CodeList *CID7469_GenericIntensityAndSizeMeasurements::Codes = NULL;
+
+
+CID7469_GenericIntensityAndSizeMeasurements::CID7469_GenericIntensityAndSizeMeasurements(const DSRCodedEntryValue &selectedValue)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue)
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+CID7469_GenericIntensityAndSizeMeasurements::CID7469_GenericIntensityAndSizeMeasurements(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+ : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode))
+{
+ setExtensible(CONTEXT_GROUP_TYPE);
+}
+
+
+OFCondition CID7469_GenericIntensityAndSizeMeasurements::selectValue(const EnumType selectedValue,
+ const OFBool enhancedEncodingMode)
+{
+ /* never check the coded entry */
+ return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/);
+}
+
+
+OFCondition CID7469_GenericIntensityAndSizeMeasurements::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
+ DSRCodedEntryValue *foundCodedEntry,
+ const OFBool enhancedEncodingMode) const
+{
+ OFCondition result = SR_EC_CodedEntryNotInContextGroup;
+ /* first, search for standard codes */
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ /* if found, exit loop */
+ if (searchForCodedEntry == iter->second)
+ {
+ /* return coded entry (if requested) */
+ if (foundCodedEntry != NULL)
+ {
+ *foundCodedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!foundCodedEntry->isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(*foundCodedEntry);
+ }
+ result = SR_EC_CodedEntryInStandardContextGroup;
+ break;
+ }
+ ++iter;
+ }
+ /* if not, continue with extended codes */
+ if (result.bad())
+ {
+ result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry);
+ /* tbd: set "enhanced encoding mode" to mark a local/extended version? */
+ }
+ return result;
+}
+
+
+void CID7469_GenericIntensityAndSizeMeasurements::printCodes(STD_NAMESPACE ostream &stream) const
+{
+ /* print standard codes */
+ stream << "Standard codes:" << OFendl;
+ CodeList::const_iterator iter = getCodes().begin();
+ CodeList::const_iterator last = getCodes().end();
+ /* iterate over coded entry list */
+ while (iter != last)
+ {
+ stream << " ";
+ /* print coded entry */
+ DSRCodedEntryValue(iter->second).print(stream);
+ stream << OFendl;
+ ++iter;
+ }
+ /* print extended codes */
+ DSRContextGroup::printCodes(stream);
+}
+
+
+// static functions
+
+void CID7469_GenericIntensityAndSizeMeasurements::initialize()
+{
+ /* create and initialize code list */
+ getCodes();
+}
+
+
+void CID7469_GenericIntensityAndSizeMeasurements::cleanup()
+{
+ /* delete code list, it will be recreated automatically when needed */
+ delete Codes;
+ Codes = NULL;
+}
+
+
+DSRCodedEntryValue CID7469_GenericIntensityAndSizeMeasurements::getCodedEntry(const EnumType value,
+ const OFBool enhancedEncodingMode)
+{
+ DSRCodedEntryValue codedEntry;
+ /* search for given enumerated value */
+ CodeList::iterator iter = getCodes().find(value);
+ /* if found, set the coded entry */
+ if (iter != getCodes().end())
+ {
+ codedEntry = iter->second;
+ /* also set enhanced encoding mode (if enabled) */
+ if (!codedEntry.isEmpty() && enhancedEncodingMode)
+ setEnhancedEncodingMode(codedEntry);
+ }
+ return codedEntry;
+}
+
+
+CID7469_GenericIntensityAndSizeMeasurements::CodeList &CID7469_GenericIntensityAndSizeMeasurements::getCodes()
+{
+ /* check whether code list has already been created and initialized */
+ if (Codes == NULL)
+ {
+ /* create a new code list (should never fail) */
+ Codes = new CodeList();
+ /* and initialize it by adding the coded entries */
+ Codes->insert(OFMake_pair(NAcetylaspartate, DSRBasicCodedEntry("F-6175A", "SRT", "N-acetylaspartate")));
+ Codes->insert(OFMake_pair(Citrate, DSRBasicCodedEntry("F-61080", "SRT", "Citrate")));
+ Codes->insert(OFMake_pair(Choline, DSRBasicCodedEntry("F-61620", "SRT", "Choline")));
+ Codes->insert(OFMake_pair(Creatine, DSRBasicCodedEntry("F-61380", "SRT", "Creatine")));
+ Codes->insert(OFMake_pair(CreatineAndCholine, DSRBasicCodedEntry("113094", "DCM", "Creatine and Choline")));
+ Codes->insert(OFMake_pair(Lactate, DSRBasicCodedEntry("F-61760", "SRT", "Lactate")));
+ Codes->insert(OFMake_pair(Lipid, DSRBasicCodedEntry("F-63600", "SRT", "Lipid")));
+ Codes->insert(OFMake_pair(LipidAndLactate, DSRBasicCodedEntry("113095", "DCM", "Lipid and Lactate")));
+ Codes->insert(OFMake_pair(GlutamateAndGlutamine, DSRBasicCodedEntry("113080", "DCM", "Glutamate and glutamine")));
+ Codes->insert(OFMake_pair(Glutamine, DSRBasicCodedEntry("F-64210", "SRT", "Glutamine")));
+ Codes->insert(OFMake_pair(Tuarine, DSRBasicCodedEntry("F-64460", "SRT", "Tuarine")));
+ Codes->insert(OFMake_pair(Inositol, DSRBasicCodedEntry("F-61A90", "SRT", "Inositol")));
+ Codes->insert(OFMake_pair(CholinePerCreatineRatio, DSRBasicCodedEntry("113081", "DCM", "Choline/Creatine Ratio")));
+ Codes->insert(OFMake_pair(NAcetylaspartatePerCreatineRatio, DSRBasicCodedEntry("113082", "DCM", "N-acetylaspartate/Creatine Ratio")));
+ Codes->insert(OFMake_pair(NAcetylaspartatePerCholineRatio, DSRBasicCodedEntry("113083", "DCM", "N-acetylaspartate/Choline Ratio")));
+ Codes->insert(OFMake_pair(CreatinePlusCholinePerCitrateRatio, DSRBasicCodedEntry("113096", "DCM", "Creatine+Choline/Citrate Ratio")));
+ Codes->insert(OFMake_pair(T1, DSRBasicCodedEntry("113063", "DCM", "T1")));
+ Codes->insert(OFMake_pair(T2, DSRBasicCodedEntry("113065", "DCM", "T2")));
+ Codes->insert(OFMake_pair(T2Star, DSRBasicCodedEntry("113064", "DCM", "T2*")));
+ Codes->insert(OFMake_pair(ProtonDensity, DSRBasicCodedEntry("113058", "DCM", "Proton Density")));
+ Codes->insert(OFMake_pair(SpinTaggingPerfusionMRSignalIntensity, DSRBasicCodedEntry("110800", "DCM", "Spin Tagging Perfusion MR Signal Intensity")));
+ Codes->insert(OFMake_pair(VelocityEncoded, DSRBasicCodedEntry("113070", "DCM", "Velocity encoded")));
+ Codes->insert(OFMake_pair(TemperatureEncoded, DSRBasicCodedEntry("113067", "DCM", "Temperature encoded")));
+ Codes->insert(OFMake_pair(ContrastAgentAngioMRSignalIntensity, DSRBasicCodedEntry("110801", "DCM", "Contrast Agent Angio MR Signal Intensity")));
+ Codes->insert(OFMake_pair(TimeOfFlightAngioMRSignalIntensity, DSRBasicCodedEntry("110802", "DCM", "Time Of Flight Angio MR Signal Intensity")));
+ Codes->insert(OFMake_pair(ProtonDensityWeightedMRSignalIntensity, DSRBasicCodedEntry("110803", "DCM", "Proton Density Weighted MR Signal Intensity")));
+ Codes->insert(OFMake_pair(T1WeightedMRSignalIntensity, DSRBasicCodedEntry("110804", "DCM", "T1 Weighted MR Signal Intensity")));
+ Codes->insert(OFMake_pair(T2WeightedMRSignalIntensity, DSRBasicCodedEntry("110805", "DCM", "T2 Weighted MR Signal Intensity")));
+ Codes->insert(OFMake_pair(T2StarWeightedMRSignalIntensity, DSRBasicCodedEntry("110806", "DCM", "T2* Weighted MR Signal Intensity")));
+ Codes->insert(OFMake_pair(DiffusionWeighted, DSRBasicCodedEntry("113043", "DCM", "Diffusion weighted")));
+ Codes->insert(OFMake_pair(FieldMapMRSignalIntensity, DSRBasicCodedEntry("110807", "DCM", "Field Map MR Signal Intensity")));
+ Codes->insert(OFMake_pair(FractionalAnisotropy, DSRBasicCodedEntry("110808", "DCM", "Fractional Anisotropy")));
+ Codes->insert(OFMake_pair(RelativeAnisotropy, DSRBasicCodedEntry("110809", "DCM", "Relative Anisotropy")));
+ Codes->insert(OFMake_pair(ApparentDiffusionCoefficient, DSRBasicCodedEntry("113041", "DCM", "Apparent Diffusion Coefficient")));
+ Codes->insert(OFMake_pair(VolumetricDiffusionDxxComponent, DSRBasicCodedEntry("110810", "DCM", "Volumetric Diffusion Dxx Component")));
+ Codes->insert(OFMake_pair(VolumetricDiffusionDxyComponent, DSRBasicCodedEntry("110811", "DCM", "Volumetric Diffusion Dxy Component")));
+ Codes->insert(OFMake_pair(VolumetricDiffusionDxzComponent, DSRBasicCodedEntry("110812", "DCM", "Volumetric Diffusion Dxz Component")));
+ Codes->insert(OFMake_pair(VolumetricDiffusionDyyComponent, DSRBasicCodedEntry("110813", "DCM", "Volumetric Diffusion Dyy Component")));
+ Codes->insert(OFMake_pair(VolumetricDiffusionDyzComponent, DSRBasicCodedEntry("110814", "DCM", "Volumetric Diffusion Dyz Component")));
+ Codes->insert(OFMake_pair(VolumetricDiffusionDzzComponent, DSRBasicCodedEntry("110815", "DCM", "Volumetric Diffusion Dzz Component")));
+ Codes->insert(OFMake_pair(T1WeightedDynamicContrastEnhancedMRSignalIntensity, DSRBasicCodedEntry("110816", "DCM", "T1 Weighted Dynamic Contrast Enhanced MR Signal Intensity")));
+ Codes->insert(OFMake_pair(T2WeightedDynamicContrastEnhancedMRSignalIntensity, DSRBasicCodedEntry("110817", "DCM", "T2 Weighted Dynamic Contrast Enhanced MR Signal Intensity")));
+ Codes->insert(OFMake_pair(T2StarWeightedDynamicContrastEnhancedMRSignalIntensity, DSRBasicCodedEntry("110818", "DCM", "T2* Weighted Dynamic Contrast Enhanced MR Signal Intensity")));
+ Codes->insert(OFMake_pair(BloodOxygenationLevel, DSRBasicCodedEntry("110819", "DCM", "Blood Oxygenation Level")));
+ Codes->insert(OFMake_pair(NuclearMedicineProjectionActivity, DSRBasicCodedEntry("110820", "DCM", "Nuclear Medicine Projection Activity")));
+ Codes->insert(OFMake_pair(NuclearMedicineTomographicActivity, DSRBasicCodedEntry("110821", "DCM", "Nuclear Medicine Tomographic Activity")));
+ Codes->insert(OFMake_pair(SpatialDisplacementXComponent, DSRBasicCodedEntry("110822", "DCM", "Spatial Displacement X Component")));
+ Codes->insert(OFMake_pair(SpatialDisplacementYComponent, DSRBasicCodedEntry("110823", "DCM", "Spatial Displacement Y Component")));
+ Codes->insert(OFMake_pair(SpatialDisplacementZComponent, DSRBasicCodedEntry("110824", "DCM", "Spatial Displacement Z Component")));
+ Codes->insert(OFMake_pair(HemodynamicResistance, DSRBasicCodedEntry("110825", "DCM", "Hemodynamic Resistance")));
+ Codes->insert(OFMake_pair(IndexedHemodynamicResistance, DSRBasicCodedEntry("110826", "DCM", "Indexed Hemodynamic Resistance")));
+ Codes->insert(OFMake_pair(AttenuationCoefficient, DSRBasicCodedEntry("112031", "DCM", "Attenuation Coefficient")));
+ Codes->insert(OFMake_pair(TissueVelocity, DSRBasicCodedEntry("110827", "DCM", "Tissue Velocity")));
+ Codes->insert(OFMake_pair(FlowVelocity, DSRBasicCodedEntry("110828", "DCM", "Flow Velocity")));
+ Codes->insert(OFMake_pair(PowerDoppler, DSRBasicCodedEntry("P0-02241", "SRT", "Power Doppler")));
+ Codes->insert(OFMake_pair(FlowVariance, DSRBasicCodedEntry("110829", "DCM", "Flow Variance")));
+ Codes->insert(OFMake_pair(Elasticity, DSRBasicCodedEntry("110830", "DCM", "Elasticity")));
+ Codes->insert(OFMake_pair(Perfusion, DSRBasicCodedEntry("110831", "DCM", "Perfusion")));
+ Codes->insert(OFMake_pair(SpeedOfSound, DSRBasicCodedEntry("110832", "DCM", "Speed of sound")));
+ Codes->insert(OFMake_pair(UltrasoundAttenuation, DSRBasicCodedEntry("110833", "DCM", "Ultrasound Attenuation")));
+ Codes->insert(OFMake_pair(StudentsTTest, DSRBasicCodedEntry("113068", "DCM", "Student's T-test")));
+ Codes->insert(OFMake_pair(ZScore, DSRBasicCodedEntry("113071", "DCM", "Z-score")));
+ Codes->insert(OFMake_pair(RCoefficient, DSRBasicCodedEntry("113057", "DCM", "R-Coefficient")));
+ Codes->insert(OFMake_pair(R2Coefficient, DSRBasicCodedEntry("126220", "DCM", "R2-Coefficient")));
+ Codes->insert(OFMake_pair(RGBRComponent, DSRBasicCodedEntry("110834", "DCM", "RGB R Component")));
+ Codes->insert(OFMake_pair(RGBGComponent, DSRBasicCodedEntry("110835", "DCM", "RGB G Component")));
+ Codes->insert(OFMake_pair(RGBBComponent, DSRBasicCodedEntry("110836", "DCM", "RGB B Component")));
+ Codes->insert(OFMake_pair(YBR_FULLYComponent, DSRBasicCodedEntry("110837", "DCM", "YBR FULL Y Component")));
+ Codes->insert(OFMake_pair(YBR_FULL_CBComponent, DSRBasicCodedEntry("110838", "DCM", "YBR FULL CB Component")));
+ Codes->insert(OFMake_pair(YBR_FULL_CRComponent, DSRBasicCodedEntry("110839", "DCM", "YBR FULL CR Component")));
+ Codes->insert(OFMake_pair(YBR_PARTIALYComponent, DSRBasicCodedEntry("110840", "DCM", "YBR PARTIAL Y Component")));
+ Codes->insert(OFMake_pair(YBR_PARTIAL_CBComponent, DSRBasicCodedEntry("110841", "DCM", "YBR PARTIAL CB Component")));
+ Codes->insert(OFMake_pair(YBR_PARTIAL_CRComponent, DSRBasicCodedEntry("110842", "DCM", "YBR PARTIAL CR Component")));
+ Codes->insert(OFMake_pair(YBR_ICTYComponent, DSRBasicCodedEntry("110843", "DCM", "YBR ICT Y Component")));
+ Codes->insert(OFMake_pair(YBR_ICT_CBComponent, DSRBasicCodedEntry("110844", "DCM", "YBR ICT CB Component")));
+ Codes->insert(OFMake_pair(YBR_ICT_CRComponent, DSRBasicCodedEntry("110845", "DCM", "YBR ICT CR Component")));
+ Codes->insert(OFMake_pair(YBR_RCTYComponent, DSRBasicCodedEntry("110846", "DCM", "YBR RCT Y Component")));
+ Codes->insert(OFMake_pair(YBR_RCT_CBComponent, DSRBasicCodedEntry("110847", "DCM", "YBR RCT CB Component")));
+ Codes->insert(OFMake_pair(YBR_RCT_CRComponent, DSRBasicCodedEntry("110848", "DCM", "YBR RCT CR Component")));
+ Codes->insert(OFMake_pair(Echogenicity, DSRBasicCodedEntry("110849", "DCM", "Echogenicity")));
+ Codes->insert(OFMake_pair(XRayAttenuation, DSRBasicCodedEntry("110850", "DCM", "X-Ray Attenuation")));
+ Codes->insert(OFMake_pair(MRSignalIntensity, DSRBasicCodedEntry("110852", "DCM", "MR signal intensity")));
+ Codes->insert(OFMake_pair(BinarySegmentation, DSRBasicCodedEntry("110853", "DCM", "Binary Segmentation")));
+ Codes->insert(OFMake_pair(FractionalProbabilisticSegmentation, DSRBasicCodedEntry("110854", "DCM", "Fractional Probabilistic Segmentation")));
+ Codes->insert(OFMake_pair(FractionalOccupancySegmentation, DSRBasicCodedEntry("110855", "DCM", "Fractional Occupancy Segmentation")));
+ Codes->insert(OFMake_pair(R1, DSRBasicCodedEntry("126393", "DCM", "R1")));
+ Codes->insert(OFMake_pair(R2, DSRBasicCodedEntry("126394", "DCM", "R2")));
+ Codes->insert(OFMake_pair(Ktrans, DSRBasicCodedEntry("126312", "DCM", "Ktrans")));
+ Codes->insert(OFMake_pair(Kep, DSRBasicCodedEntry("126313", "DCM", "kep")));
+ Codes->insert(OFMake_pair(Ve, DSRBasicCodedEntry("126314", "DCM", "ve")));
+ Codes->insert(OFMake_pair(Tau_m, DSRBasicCodedEntry("126330", "DCM", "tau_m")));
+ Codes->insert(OFMake_pair(Vp, DSRBasicCodedEntry("126331", "DCM", "vp")));
+ Codes->insert(OFMake_pair(RegionalCerebralBloodFlow, DSRBasicCodedEntry("113055", "DCM", "Regional Cerebral Blood Flow")));
+ Codes->insert(OFMake_pair(RegionalBloodFlow, DSRBasicCodedEntry("126390", "DCM", "Regional Blood Flow")));
+ Codes->insert(OFMake_pair(RegionalCerebralBloodVolume, DSRBasicCodedEntry("113056", "DCM", "Regional Cerebral Blood Volume")));
+ Codes->insert(OFMake_pair(RegionalBloodVolume, DSRBasicCodedEntry("126391", "DCM", "Regional Blood Volume")));
+ Codes->insert(OFMake_pair(MeanTransitTime, DSRBasicCodedEntry("113052", "DCM", "Mean Transit Time")));
+ Codes->insert(OFMake_pair(TimeToPeak, DSRBasicCodedEntry("113069", "DCM", "Time To Peak")));
+ Codes->insert(OFMake_pair(OxygenExtractionFraction, DSRBasicCodedEntry("126392", "DCM", "Oxygen Extraction Fraction")));
+ Codes->insert(OFMake_pair(IAUC, DSRBasicCodedEntry("126320", "DCM", "IAUC")));
+ Codes->insert(OFMake_pair(IAUC60, DSRBasicCodedEntry("126321", "DCM", "IAUC60")));
+ Codes->insert(OFMake_pair(IAUC90, DSRBasicCodedEntry("126322", "DCM", "IAUC90")));
+ Codes->insert(OFMake_pair(TimeOfPeakConcentration, DSRBasicCodedEntry("126370", "DCM", "Time of Peak Concentration")));
+ Codes->insert(OFMake_pair(TimeOfLeadingHalfPeakConcentration, DSRBasicCodedEntry("126372", "DCM", "Time of Leading Half-Peak Concentration")));
+ Codes->insert(OFMake_pair(BolusArrivalTime, DSRBasicCodedEntry("126371", "DCM", "Bolus Arrival Time")));
+ Codes->insert(OFMake_pair(TemporalDerivativeThreshold, DSRBasicCodedEntry("126374", "DCM", "Temporal Derivative Threshold")));
+ Codes->insert(OFMake_pair(MaximumSlope, DSRBasicCodedEntry("126375", "DCM", "Maximum Slope")));
+ Codes->insert(OFMake_pair(MaximumDifference, DSRBasicCodedEntry("126376", "DCM", "Maximum Difference")));
+ Codes->insert(OFMake_pair(TracerConcentration, DSRBasicCodedEntry("126377", "DCM", "Tracer Concentration")));
+ Codes->insert(OFMake_pair(StandardizedUptakeValue, DSRBasicCodedEntry("126400", "DCM", "Standardized Uptake Value")));
+ Codes->insert(OFMake_pair(SUVbw, DSRBasicCodedEntry("126401", "DCM", "SUVbw")));
+ Codes->insert(OFMake_pair(SUVlbm, DSRBasicCodedEntry("126402", "DCM", "SUVlbm")));
+ Codes->insert(OFMake_pair(SUVbsa, DSRBasicCodedEntry("126403", "DCM", "SUVbsa")));
+ Codes->insert(OFMake_pair(SUVibw, DSRBasicCodedEntry("126404", "DCM", "SUVibw")));
+ Codes->insert(OFMake_pair(Length, DSRBasicCodedEntry("G-A22A", "SRT", "Length")));
+ Codes->insert(OFMake_pair(PathLength, DSRBasicCodedEntry("121211", "DCM", "Path length")));
+ Codes->insert(OFMake_pair(Distance, DSRBasicCodedEntry("121206", "DCM", "Distance")));
+ Codes->insert(OFMake_pair(Width, DSRBasicCodedEntry("G-A220", "SRT", "Width")));
+ Codes->insert(OFMake_pair(Depth, DSRBasicCodedEntry("G-D785", "SRT", "Depth")));
+ Codes->insert(OFMake_pair(Diameter, DSRBasicCodedEntry("M-02550", "SRT", "Diameter")));
+ Codes->insert(OFMake_pair(LongAxis, DSRBasicCodedEntry("G-A185", "SRT", "Long Axis")));
+ Codes->insert(OFMake_pair(ShortAxis, DSRBasicCodedEntry("G-A186", "SRT", "Short Axis")));
+ Codes->insert(OFMake_pair(MajorAxis, DSRBasicCodedEntry("G-A193", "SRT", "Major Axis")));
+ Codes->insert(OFMake_pair(MinorAxis, DSRBasicCodedEntry("G-A194", "SRT", "Minor Axis")));
+ Codes->insert(OFMake_pair(PerpendicularAxis, DSRBasicCodedEntry("G-A195", "SRT", "Perpendicular Axis")));
+ Codes->insert(OFMake_pair(Radius, DSRBasicCodedEntry("G-A196", "SRT", "Radius")));
+ Codes->insert(OFMake_pair(Perimeter, DSRBasicCodedEntry("G-A197", "SRT", "Perimeter")));
+ Codes->insert(OFMake_pair(Circumference, DSRBasicCodedEntry("M-02560", "SRT", "Circumference")));
+ Codes->insert(OFMake_pair(DiameterOfCircumscribedCircle, DSRBasicCodedEntry("G-A198", "SRT", "Diameter of circumscribed circle")));
+ Codes->insert(OFMake_pair(Height, DSRBasicCodedEntry("121207", "DCM", "Height")));
+ Codes->insert(OFMake_pair(Area, DSRBasicCodedEntry("G-A166", "SRT", "Area")));
+ Codes->insert(OFMake_pair(AreaOfDefinedRegion, DSRBasicCodedEntry("G-A16A", "SRT", "Area of defined region")));
+ Codes->insert(OFMake_pair(Volume, DSRBasicCodedEntry("G-D705", "SRT", "Volume")));
+ Codes->insert(OFMake_pair(VolumeEstimatedFromSingle2DRegion, DSRBasicCodedEntry("121216", "DCM", "Volume estimated from single 2D region")));
+ Codes->insert(OFMake_pair(VolumeEstimatedFromTwoNonCoplanar2DRegions, DSRBasicCodedEntry("121218", "DCM", "Volume estimated from two non-coplanar 2D regions")));
+ Codes->insert(OFMake_pair(VolumeEstimatedFromThreeOrMoreNonCoplanar2DRegions, DSRBasicCodedEntry("121217", "DCM", "Volume estimated from three or more non-coplanar 2D regions")));
+ Codes->insert(OFMake_pair(VolumeOfSphere, DSRBasicCodedEntry("121222", "DCM", "Volume of sphere")));
+ Codes->insert(OFMake_pair(VolumeOfEllipsoid, DSRBasicCodedEntry("121221", "DCM", "Volume of ellipsoid")));
+ Codes->insert(OFMake_pair(VolumeOfCircumscribedSphere, DSRBasicCodedEntry("121220", "DCM", "Volume of circumscribed sphere")));
+ Codes->insert(OFMake_pair(VolumeOfBoundingThreeDimensionalRegion, DSRBasicCodedEntry("121219", "DCM", "Volume of bounding three dimensional region")));
+ }
+ /* should never be NULL */
+ return *Codes;
+}
+
+
+OFCondition CID7469_GenericIntensityAndSizeMeasurements::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue)
+{
+ return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID);
+}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CMR_ContentMappingResource
#include "dcmtk/dcmsr/cmr/cid4031.h"
#include "dcmtk/dcmsr/cmr/cid5000.h"
#include "dcmtk/dcmsr/cmr/cid5001.h"
+#include "dcmtk/dcmsr/cmr/cid6147.h"
#include "dcmtk/dcmsr/cmr/cid7021.h"
+#include "dcmtk/dcmsr/cmr/cid7181.h"
#include "dcmtk/dcmsr/cmr/cid7445.h"
#include "dcmtk/dcmsr/cmr/cid7452.h"
#include "dcmtk/dcmsr/cmr/cid7453.h"
+#include "dcmtk/dcmsr/cmr/cid7464.h"
+#include "dcmtk/dcmsr/cmr/cid7469.h"
#include "dcmtk/dcmsr/cmr/cid10013.h"
#include "dcmtk/dcmsr/cmr/cid10033.h"
CID4031_CommonAnatomicRegions::initialize();
CID5000_Languages::initialize();
CID5001_Countries::initialize();
+ CID6147_ResponseCriteria::initialize();
CID7021_MeasurementReportDocumentTitles::initialize();
+ CID7181_AbstractMultiDimensionalImageModelComponentUnits::initialize();
CID7445_DeviceParticipatingRoles::initialize();
CID7452_OrganizationalRoles::initialize();
CID7453_PerformingRoles::initialize();
+ CID7464_GeneralRegionOfInterestMeasurementModifiers::initialize();
+ CID7469_GenericIntensityAndSizeMeasurements::initialize();
CID10013_CTAcquisitionType::initialize();
CID10033_CTReconstructionAlgorithm::initialize();
}
CID4031_CommonAnatomicRegions::cleanup();
CID5000_Languages::cleanup();
CID5001_Countries::cleanup();
+ CID6147_ResponseCriteria::cleanup();
CID7021_MeasurementReportDocumentTitles::cleanup();
+ CID7181_AbstractMultiDimensionalImageModelComponentUnits::cleanup();
CID7445_DeviceParticipatingRoles::cleanup();
CID7452_OrganizationalRoles::cleanup();
CID7453_PerformingRoles::cleanup();
+ CID7464_GeneralRegionOfInterestMeasurementModifiers::cleanup();
+ CID7469_GenericIntensityAndSizeMeasurements::cleanup();
CID10013_CTAcquisitionType::cleanup();
CID10033_CTReconstructionAlgorithm::cleanup();
}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class CMR_SRNumericMeasurementValue
}
+CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check)
+ : DSRNumericMeasurementValue(valueQualifier, check)
+{
+}
+
+
CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const OFString &numericValue,
const DSRCodedEntryValue &measurementUnit,
- const DSRCodedEntryValue &valueQualifier,
+ const CID42_NumericValueQualifier &valueQualifier,
const OFBool check)
: DSRNumericMeasurementValue(numericValue, measurementUnit, valueQualifier, check)
{
}
+CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const DSRNumericMeasurementValue &numericMeasurement)
+ : DSRNumericMeasurementValue(numericMeasurement)
+{
+}
+
+
CMR_SRNumericMeasurementValue::~CMR_SRNumericMeasurementValue()
{
}
}
-OFCondition CMR_SRNumericMeasurementValue::setNumericValueQualifier(CID42_NumericValueQualifier::EnumType valueQualifier,
- const OFBool enhancedEncodingMode)
+OFCondition CMR_SRNumericMeasurementValue::setValue(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check)
+{
+ /* map type to coded entry and call the method doing the real work */
+ return DSRNumericMeasurementValue::setValue(valueQualifier, check);
+}
+
+
+OFCondition CMR_SRNumericMeasurementValue::setValue(const OFString &numericValue,
+ const DSRCodedEntryValue &measurementUnit,
+ const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check)
+{
+ /* map type to coded entry and call the method doing the real work */
+ return DSRNumericMeasurementValue::setValue(numericValue, measurementUnit, valueQualifier, check);
+}
+
+
+OFCondition CMR_SRNumericMeasurementValue::setNumericValueQualifier(const CID42_NumericValueQualifier &valueQualifier,
+ const OFBool check)
{
/* map type to coded entry and call the method doing the real work */
- return setNumericValueQualifier(CID42_NumericValueQualifier::getCodedEntry(valueQualifier, enhancedEncodingMode), OFFalse /*check*/);
+ return DSRNumericMeasurementValue::setNumericValueQualifier(valueQualifier, check);
}
OFCondition CMR_SRNumericMeasurementValue::checkNumericValueQualifier(const DSRCodedEntryValue &valueQualifier) const
{
/* first, perform some basic checks (done by the base class) */
- OFCondition status = DSRNumericMeasurementValue::checkNumericValueQualifier(valueQualifier);
- if (status.good() && !valueQualifier.isEmpty())
+ OFCondition result = DSRNumericMeasurementValue::checkNumericValueQualifier(valueQualifier);
+ if (result.good() && !valueQualifier.isEmpty())
{
/* then, also check for conformance with CID 42 */
static const CID42_NumericValueQualifier contextGroup;
if (contextGroup.findCodedEntry(valueQualifier).bad())
- status = SR_EC_CodedEntryNotInContextGroup;
+ result = SR_EC_CodedEntryNotInContextGroup;
}
- return status;
+ return result;
}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class TID1001_ObservationContext
// helper macros for checking the return value of API calls
#define CHECK_RESULT(call) if (result.good()) result = call
#define STORE_RESULT(call) result = call
-#define DELETE_ERROR(pointer) if (result.bad()) delete pointer
+#define GOOD_RESULT(call) if (result.good()) call
+#define BAD_RESULT(call) if (result.bad()) call
// index positions in node list (makes source code more readable)
#define LAST_PERSON_OBSERVER 0
if (subTree != NULL)
{
/* TID 1002 (Observer Context) Row 1 */
- STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType));
+ STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType, check));
CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(CODE_DCM_Person, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1002 - Row 1"));
/* TID 1003 (Person Observer Identifying Attributes) Row 1 */
/* TID 1003 (Person Observer Identifying Attributes) Row 2 */
if (!organizationName.empty())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_PersonObserverOrganizationName));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_PersonObserverOrganizationName, check));
CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(organizationName, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1003 - Row 2"));
}
/* TID 1003 (Person Observer Identifying Attributes) Row 3 */
if (organizationRole.hasSelectedValue())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInTheOrganization));
- CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(organizationRole.getSelectedValue(), check));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInTheOrganization, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(organizationRole, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1003 - Row 3"));
}
/* TID 1003 (Person Observer Identifying Attributes) Row 4 */
if (procedureRole.hasSelectedValue())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInThisProcedure));
- CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(procedureRole.getSelectedValue(), check));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInThisProcedure, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(procedureRole, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1003 - Row 4"));
}
/* if everything was OK, insert new subtree into the template */
{
const size_t lastNode = subTree->getNodeID();
/* order is significant, so go to last person observer */
- gotoLastEntryFromNodeList(this, LAST_PERSON_OBSERVER);
- /* insert subtree at current position */
- result = insertSubTree(subTree, AM_afterCurrent);
+ if (gotoLastEntryFromNodeList(this, LAST_PERSON_OBSERVER) > 0)
+ {
+ /* insert subtree at current position */
+ STORE_RESULT(insertSubTree(subTree, AM_afterCurrent));
+ } else {
+ /* this is the first person observer (but there might be device observers) */
+ gotoRoot();
+ /* insert subtree before current position (at the beginning of the tree) */
+ STORE_RESULT(insertSubTree(subTree, AM_beforeCurrent));
+ }
/* store ID of recently added node for later use */
- if (result.good())
- storeEntryInNodeList(LAST_PERSON_OBSERVER, lastNode);
+ GOOD_RESULT(storeEntryInNodeList(LAST_PERSON_OBSERVER, lastNode));
}
/* in case of error, make sure that memory is freed */
- DELETE_ERROR(subTree);
+ BAD_RESULT(delete subTree);
}
return result;
}
const OFString &serialNumber,
const OFString &physicalLocation,
const DeviceParticipatingRolesList &procedureRoles,
+ const OFString &stationAEtitle,
const OFBool check)
{
OFCondition result = EC_MemoryExhausted;
if (subTree != NULL)
{
/* TID 1002 (Observer Context) Row 1 */
- STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType));
+ STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType, check));
CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(CODE_DCM_Device, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1002 - Row 1"));
/* TID 1004 (Device Observer Identifying Attributes) Row 1 */
/* TID 1004 (Device Observer Identifying Attributes) Row 2 */
if (!deviceName.empty())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverName));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverName, check));
CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(deviceName, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 2"));
}
/* TID 1004 (Device Observer Identifying Attributes) Row 3 */
if (!manufacturer.empty())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverManufacturer));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverManufacturer, check));
CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(manufacturer, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 3"));
}
/* TID 1004 (Device Observer Identifying Attributes) Row 4 */
if (!modelName.empty())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverModelName));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverModelName, check));
CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(modelName, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 4"));
}
/* TID 1004 (Device Observer Identifying Attributes) Row 5 */
if (!serialNumber.empty())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverSerialNumber));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverSerialNumber, check));
CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(serialNumber, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 5"));
}
/* TID 1004 (Device Observer Identifying Attributes) Row 6 */
if (!physicalLocation.empty())
{
- CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverPhysicalLocationDuringObservation));
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverPhysicalLocationDuringObservation, check));
CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(physicalLocation, check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 6"));
}
/* iterate over all list entries */
while ((iter != last) && result.good())
{
- STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_DeviceRoleInProcedure));
+ STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_DeviceRoleInProcedure, check));
CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(iter->getSelectedValue(), check));
CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 7"));
++iter;
}
}
+ /* TID 1004 (Device Observer Identifying Attributes) Row 8 */
+ if (!stationAEtitle.empty())
+ {
+ CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_StationAETitle, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(stationAEtitle, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 8"));
+ }
/* if everything was OK, insert new subtree into the template */
if (result.good())
{
/* order is significant, so go to last device (or person) observer */
gotoLastEntryFromNodeList(this, LAST_DEVICE_OBSERVER);
/* insert subtree at current position */
- result = insertSubTree(subTree, AM_afterCurrent);
+ STORE_RESULT(insertSubTree(subTree, AM_afterCurrent));
/* store ID of recently added node for later use */
- if (result.good())
- storeEntryInNodeList(LAST_DEVICE_OBSERVER, lastNode);
+ GOOD_RESULT(storeEntryInNodeList(LAST_DEVICE_OBSERVER, lastNode));
}
/* in case of error, make sure that memory is freed */
- DELETE_ERROR(subTree);
+ BAD_RESULT(delete subTree);
}
return result;
}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class TID1204_LanguageOfContentItemAndDescendants
// helper macros for checking the return value of API calls
#define CHECK_RESULT(call) if (result.good()) result = call
#define STORE_RESULT(call) result = call
+#define GOOD_RESULT(call) if (result.good()) call
+#define BAD_RESULT(call) if (result.bad()) call
// general information on TID 1204 (Language of Content Item and Descendants)
#define TEMPLATE_NUMBER "1204"
/* create a new subtree in order to "rollback" in case of error */
DSRDocumentSubTree subTree;
/* TID 1204 (Language of Content Item and Descendants) Row 1 */
- STORE_RESULT(subTree.addContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_LanguageOfContentItemAndDescendants));
- CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(language.getSelectedValue(), check));
+ STORE_RESULT(subTree.addContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_LanguageOfContentItemAndDescendants, check));
+ CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(language, check));
CHECK_RESULT(subTree.getCurrentContentItem().setAnnotationText("TID 1204 - Row 1"));
/* TID 1204 (Language of Content Item and Descendants) Row 2 */
if (country.hasSelectedValue())
{
- CHECK_RESULT(subTree.addChildContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_CountryOfLanguage));
- CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(country.getSelectedValue(), check));
+ CHECK_RESULT(subTree.addChildContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_CountryOfLanguage, check));
+ CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(country, check));
CHECK_RESULT(subTree.getCurrentContentItem().setAnnotationText("TID 1204 - Row 2"));
}
- /* if everything was OK, insert new subtree into the template */
- if (result.good())
- {
- /* replace currently stored subtree (if any) */
- swap(subTree);
- }
+ /* if everything was OK, replace current subtree of the template */
+ GOOD_RESULT(swap(subTree));
return result;
}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class TID1411_VolumetricROIMeasurements
+ *
+ * Author: Joerg Riesmeier
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/cmr/tid1411.h"
+#include "dcmtk/dcmsr/cmr/cid6147.h"
+#include "dcmtk/dcmsr/cmr/cid7181.h"
+#include "dcmtk/dcmsr/cmr/cid7464.h"
+#include "dcmtk/dcmsr/cmr/cid7469.h"
+#include "dcmtk/dcmsr/cmr/logger.h"
+#include "dcmtk/dcmsr/codes/dcm.h"
+#include "dcmtk/dcmsr/codes/ncit.h"
+#include "dcmtk/dcmsr/codes/srt.h"
+#include "dcmtk/dcmsr/codes/umls.h"
+
+#include "dcmtk/dcmdata/dcdeftag.h"
+
+
+// helper macros for checking the return value of API calls
+#define CHECK_RESULT(call) if (result.good()) result = call
+#define STORE_RESULT(call) result = call
+#define GOOD_RESULT(call) if (result.good()) call
+#define BAD_RESULT(call) if (result.bad()) call
+
+// index positions in node list (makes source code more readable)
+#define MEASUREMENT_GROUP 0
+#define ACTIVITY_SESSION 1
+#define TRACKING_IDENTIFIER 2
+#define TRACKING_UNIQUE_IDENTIFIER 3
+#define FINDING 4
+#define TIME_POINT 5
+#define REFERENCED_SEGMENT 6
+#define SOURCE_SERIES_FOR_SEGMENTATION 7
+#define REAL_WORLD_VALUE_MAP 8
+#define MEASUREMENT_METHOD 9
+#define FINDING_SITE 10
+#define LAST_MEASUREMENT 11
+
+// general information on TID 1411 (Volumetric ROI Measurements)
+#define TEMPLATE_NUMBER "1411"
+#define MAPPING_RESOURCE "DCMR"
+#define MAPPING_RESOURCE_UID UID_DICOMContentMappingResource
+#define TEMPLATE_TYPE OFTrue /* extensible */
+
+// conditions constants
+makeOFConditionConst(CMR_EC_NoMeasurementGroup, OFM_dcmsr, 1411, OF_error, "No Measurement Group");
+makeOFConditionConst(CMR_EC_InvalidSegmentationObject, OFM_dcmsr, 1412, OF_error, "Invalid Segmentation Object");
+makeOFConditionConst(CMR_EC_InvalidRealWorldValueMappingObject, OFM_dcmsr, 1413, OF_error, "Invalid Real World Value Mapping Object");
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::TID1411_VolumetricROIMeasurements(const OFBool createGroup)
+ : DSRSubTemplate(TEMPLATE_NUMBER, MAPPING_RESOURCE, MAPPING_RESOURCE_UID)
+{
+ setExtensible(TEMPLATE_TYPE);
+ /* need to store position of various content items */
+ reserveEntriesInNodeList(12, OFTrue /*initialize*/);
+ /* TID 1411 (Volumetric ROI Measurements) Row 1 */
+ if (createGroup)
+ createMeasurementGroup();
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFBool TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::isValid() const
+{
+ /* check whether base class is valid and all required content items are present */
+ return DSRSubTemplate::isValid() &&
+ hasMeasurementGroup() && hasTrackingIdentifier() && hasTrackingUniqueIdentifier() &&
+ hasReferencedSegment() && hasSourceSeriesForSegmentation() && hasROIMeasurements();
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFBool TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::hasMeasurementGroup(const OFBool checkChildren) const
+{
+ OFBool result = OFFalse;
+ /* need to check for child nodes? */
+ if (checkChildren)
+ {
+ DSRDocumentTreeNodeCursor cursor(getRoot());
+ /* go to content item at TID 1411 (Volumetric ROI Measurements) Row 1 */
+ if (gotoEntryFromNodeList(cursor, MEASUREMENT_GROUP) > 0)
+ result = cursor.hasChildNodes();
+ } else {
+ /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 1 */
+ result = (getEntryFromNodeList(MEASUREMENT_GROUP) > 0);
+ }
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFBool TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::hasTrackingIdentifier() const
+{
+ /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 2 */
+ return (getEntryFromNodeList(TRACKING_IDENTIFIER) > 0);
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFBool TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::hasTrackingUniqueIdentifier() const
+{
+ /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 3 */
+ return (getEntryFromNodeList(TRACKING_UNIQUE_IDENTIFIER) > 0);
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFBool TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::hasReferencedSegment() const
+{
+ /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 7 */
+ return (getEntryFromNodeList(REFERENCED_SEGMENT) > 0);
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFBool TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::hasSourceSeriesForSegmentation() const
+{
+ /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 12 */
+ return (getEntryFromNodeList(SOURCE_SERIES_FOR_SEGMENTATION) > 0);
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFBool TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::hasROIMeasurements() const
+{
+ /* check for content item at TID 1419 (ROI Measurements) Row 5 */
+ return (getEntryFromNodeList(LAST_MEASUREMENT) > 0);
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setActivitySession(const OFString &session,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (!session.empty())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1411 (Volumetric ROI Measurements) Row 1b */
+ CHECK_RESULT(addOrReplaceContentItem(ACTIVITY_SESSION, RT_hasObsContext, VT_Text, CODE_NCIt_ActivitySession, "TID 1411 - Row 1b", check));
+ CHECK_RESULT(getCurrentContentItem().setStringValue(session, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setTrackingIdentifier(const OFString &trackingID,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (!trackingID.empty())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1411 (Volumetric ROI Measurements) Row 2 */
+ CHECK_RESULT(addOrReplaceContentItem(TRACKING_IDENTIFIER, RT_hasObsContext, VT_Text, CODE_DCM_TrackingIdentifier, "TID 1411 - Row 2", check));
+ CHECK_RESULT(getCurrentContentItem().setStringValue(trackingID, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setTrackingUniqueIdentifier(const OFString &trackingUID,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (!trackingUID.empty())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1411 (Volumetric ROI Measurements) Row 3 */
+ CHECK_RESULT(addOrReplaceContentItem(TRACKING_UNIQUE_IDENTIFIER, RT_hasObsContext, VT_UIDRef, CODE_DCM_TrackingUniqueIdentifier, "TID 1411 - Row 3", check));
+ CHECK_RESULT(getCurrentContentItem().setStringValue(trackingUID, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setFinding(const DSRCodedEntryValue &finding,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (finding.isComplete())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1411 (Volumetric ROI Measurements) Row 3b */
+ CHECK_RESULT(addOrReplaceContentItem(FINDING, RT_contains, VT_Code, CODE_DCM_Finding, "TID 1411 - Row 3b", check));
+ CHECK_RESULT(getCurrentContentItem().setCodeValue(finding, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setTimePoint(const OFString &timePoint,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (!timePoint.empty())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1502 (Time Point Context) Row 3 */
+ CHECK_RESULT(addOrReplaceContentItem(TIME_POINT, RT_hasObsContext, VT_Text, CODE_UMLS_TimePoint, "TID 1502 - Row 3", check));
+ CHECK_RESULT(getCurrentContentItem().setStringValue(timePoint, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setReferencedSegment(const DSRImageReferenceValue &segment,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (segment.isComplete())
+ {
+ const char *annotationText = "TID 1411 - Row 7";
+ const DSRBasicCodedEntry conceptName(CODE_DCM_ReferencedSegment);
+ /* check for supported segmentation SOP classes */
+ if ((segment.getSOPClassUID() != UID_SegmentationStorage) && (segment.getSOPClassUID() != UID_SurfaceSegmentationStorage))
+ {
+ DCMSR_CMR_WARN("Cannot set value of '" << conceptName.CodeMeaning << "' content item (" << annotationText << ") ... wrong SOP Class");
+ DCMSR_CMR_DEBUG("SOP Class UID \"" << segment.getSOPClassUID() << "\" does not match one of the known Segmentation objects");
+ result = CMR_EC_InvalidSegmentationObject;
+ }
+ /* ... and number of referenced segments */
+ else if ((segment.getSegmentList().getNumberOfItems() != 1))
+ {
+ DCMSR_CMR_WARN("Cannot set value of '" << conceptName.CodeMeaning << "' content item (" << annotationText << ") ... wrong number of segments");
+ result = CMR_EC_InvalidSegmentationObject;
+ } else {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1411 (Volumetric ROI Measurements) Row 7 */
+ CHECK_RESULT(addOrReplaceContentItem(REFERENCED_SEGMENT, RT_contains, VT_Image, conceptName, annotationText, check));
+ CHECK_RESULT(getCurrentContentItem().setImageReference(segment, check));
+ }
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setReferencedSegment(DcmItem &dataset,
+ const Uint16 segmentNumber,
+ const OFBool copyTracking,
+ const OFBool check)
+{
+ DSRImageReferenceValue segment;
+ /* first, create the referenced image/segment object */
+ OFCondition result = segment.setReference(dataset, check);
+ segment.getSegmentList().addItem(segmentNumber);
+ /* then, add/set the corresponding content item */
+ CHECK_RESULT(setReferencedSegment(segment, check));
+ /* need to copy tracking information? (introduced with CP-1496) */
+ if (copyTracking && result.good())
+ {
+ DcmSequenceOfItems *dseq = NULL;
+ /* get SegmentSequence (should always be present) */
+ result = dataset.findAndGetSequence(DCM_SegmentSequence, dseq);
+ checkElementValue(dseq, DCM_SegmentSequence, "1-n", "1", result, "SegmentDescriptionMacro");
+ if (result.good())
+ {
+ DcmObject *dobj = NULL;
+ OFBool segmentFound = OFFalse;
+ /* iterate over all items in this sequence */
+ while (((dobj = dseq->nextInContainer(dobj)) != NULL) && !segmentFound)
+ {
+ Uint16 number = 0;
+ DcmItem *ditem = OFstatic_cast(DcmItem *, dobj);
+ /* search for given segment number */
+ if (ditem->findAndGetUint16(DCM_SegmentNumber, number).good())
+ {
+ if (segmentNumber == number)
+ {
+ OFString trackingID, trackingUID;
+ /* get tracking ID and UID from current item (if present) and add/set content item */
+ getAndCheckStringValueFromDataset(*ditem, DCM_TrackingID, trackingID, "1", "1C", "SegmentSequence");
+ getAndCheckStringValueFromDataset(*ditem, DCM_TrackingUID, trackingUID, "1", "1C", "SegmentSequence");
+ if (!trackingID.empty() && !trackingUID.empty())
+ {
+ CHECK_RESULT(setTrackingIdentifier(trackingID, check));
+ CHECK_RESULT(setTrackingUniqueIdentifier(trackingUID, check));
+ }
+ else if (trackingID.empty() != trackingUID.empty())
+ {
+ /* report a violation of the type 1C conditions */
+ DCMSR_CMR_WARN("Either Tracking ID or Tracking UID is absent/empty in referenced segmentation object");
+ }
+ /* given segment number found */
+ segmentFound = OFTrue;
+ }
+ }
+ }
+ /* report a warning if referenced segment could not be found */
+ if (!segmentFound)
+ {
+ DCMSR_CMR_WARN("Cannot copy tracking information for '" << CODE_DCM_ReferencedSegment.CodeMeaning << "' content item (TID 1411 - Row 7) ... segment not found");
+ DCMSR_CMR_DEBUG("Cannot find given Segment Number (" << segmentNumber << ") in Segment Sequence of referenced segmentation object");
+ }
+ } else {
+ /* report a warning if referenced segment could not be found */
+ DCMSR_CMR_WARN("Cannot copy tracking information for '" << CODE_DCM_ReferencedSegment.CodeMeaning << "' content item (TID 1411 - Row 7) ... segment not found");
+ }
+ /* tbc: return with an error in case the tracking information could not be copied? */
+ }
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setSourceSeriesForSegmentation(const OFString &seriesUID,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (!seriesUID.empty())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1411 (Volumetric ROI Measurements) Row 12 */
+ CHECK_RESULT(addOrReplaceContentItem(SOURCE_SERIES_FOR_SEGMENTATION, RT_contains, VT_UIDRef, CODE_DCM_SourceSeriesForSegmentation, "TID 1411 - Row 12", check));
+ CHECK_RESULT(getCurrentContentItem().setStringValue(seriesUID, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setRealWorldValueMap(const DSRCompositeReferenceValue &valueMap,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (valueMap.isComplete())
+ {
+ const char *annotationText = "TID 1411 - Row 14";
+ const DSRBasicCodedEntry conceptName(CODE_DCM_RealWorldValueMapUsedForMeasurement);
+ /* check for real world value mapping SOP classes */
+ if (valueMap.getSOPClassUID() != UID_RealWorldValueMappingStorage)
+ {
+ DCMSR_CMR_WARN("Cannot set value of '" << conceptName.CodeMeaning << "' content item (" << annotationText << ") ... wrong SOP Class");
+ DCMSR_CMR_DEBUG("SOP Class UID \"" << valueMap.getSOPClassUID() << "\" does not match the one of the Real World Value Mapping object");
+ result = CMR_EC_InvalidRealWorldValueMappingObject;
+ } else {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1411 (Volumetric ROI Measurements) Row 14 */
+ CHECK_RESULT(addOrReplaceContentItem(REAL_WORLD_VALUE_MAP, RT_contains, VT_Composite, conceptName, annotationText, check));
+ CHECK_RESULT(getCurrentContentItem().setCompositeReference(valueMap, check));
+ }
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setRealWorldValueMap(DcmItem &dataset,
+ const OFBool check)
+{
+ DSRCompositeReferenceValue valueMap;
+ /* first, create the referenced composite object */
+ OFCondition result = valueMap.setReference(dataset, check);
+ /* then, add/set the corresponding content item */
+ CHECK_RESULT(setRealWorldValueMap(valueMap, check));
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T_Method, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T_Method, T4>::setMeasurementMethod(const T_Method &method,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (method.hasSelectedValue())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1419 (ROI Measurements) Row 1 */
+ CHECK_RESULT(addOrReplaceContentItem(MEASUREMENT_METHOD, RT_hasConceptMod, VT_Code, CODE_SRT_MeasurementMethod, "TID 1419 - Row 1", check));
+ CHECK_RESULT(getCurrentContentItem().setCodeValue(method, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::setFindingSite(const DSRCodedEntryValue &site,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of parameter */
+ if (site.isComplete())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ /* TID 1419 (ROI Measurements) Row 2 */
+ CHECK_RESULT(addOrReplaceContentItem(FINDING_SITE, RT_hasConceptMod, VT_Code, CODE_SRT_FindingSite, "TID 1419 - Row 2", check));
+ CHECK_RESULT(getCurrentContentItem().setCodeValue(site, check));
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+template<typename T_Measurement, typename T_Units, typename T_Method, typename T_Derivation>
+OFCondition TID1411_VolumetricROIMeasurements<T_Measurement, T_Units, T_Method, T_Derivation>::addMeasurement(const T_Measurement &conceptName,
+ const MeasurementValue &numericValue,
+ const T_Method &method,
+ const T_Derivation &derivation,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* basic check of mandatory parameters */
+ if (conceptName.hasSelectedValue() && numericValue.isComplete())
+ {
+ /* check whether measurement group already exists */
+ if (!hasMeasurementGroup())
+ result = createMeasurementGroup();
+ if (result.good())
+ {
+ /* create a new subtree in order to "rollback" in case of error */
+ DSRDocumentSubTree *subTree = new DSRDocumentSubTree;
+ if (subTree != NULL)
+ {
+ /* TID 1419 (ROI Measurements) Row 5 */
+ STORE_RESULT(subTree->addContentItem(RT_contains, VT_Num, conceptName, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setNumericValue(numericValue, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1419 - Row 5"));
+ const size_t lastNode = subTree->getNodeID();
+ /* TID 1419 (ROI Measurements) Row 7 - optional */
+ if (method.hasSelectedValue())
+ {
+ CHECK_RESULT(subTree->addChildContentItem(RT_hasConceptMod, VT_Code, CODE_SRT_MeasurementMethod, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(method, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1419 - Row 7"));
+ GOOD_RESULT(subTree->gotoParent());
+ }
+ /* TID 1419 (ROI Measurements) Row 8 - optional */
+ if (derivation.hasSelectedValue())
+ {
+ CHECK_RESULT(subTree->addChildContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_Derivation, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(derivation, check));
+ CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1419 - Row 8"));
+ GOOD_RESULT(subTree->gotoParent());
+ }
+ /* if everything was OK, insert new subtree into the template */
+ if (result.good() && !subTree->isEmpty())
+ {
+ /* go to last measurement (if any) */
+ if (gotoLastEntryFromNodeList(this, LAST_MEASUREMENT) > 0)
+ {
+ /* insert subtree at current position */
+ STORE_RESULT(insertSubTree(subTree, AM_afterCurrent));
+ /* store ID of recently added node for later use */
+ GOOD_RESULT(storeEntryInNodeList(LAST_MEASUREMENT, lastNode));
+ } else {
+ /* should never happen but ... */
+ result = CMR_EC_NoMeasurementGroup;
+ }
+ /* in case of error, make sure that memory is freed */
+ BAD_RESULT(delete subTree);
+ } else {
+ /* delete the new subtree since it has not been inserted */
+ delete subTree;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ }
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+// protected methods
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::createMeasurementGroup()
+{
+ OFCondition result = SR_EC_InvalidTemplateStructure;
+ if (isEmpty())
+ {
+ /* TID 1411 (Volumetric ROI Measurements) Row 1 */
+ STORE_RESULT(addContentItem(RT_unknown, VT_Container, CODE_DCM_MeasurementGroup));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1411 - Row 1"));
+ /* store ID of root node for later use */
+ GOOD_RESULT(storeEntryInNodeList(MEASUREMENT_GROUP, getNodeID()));
+ }
+ return result;
+}
+
+
+template<typename T1, typename T2, typename T3, typename T4>
+OFCondition TID1411_VolumetricROIMeasurements<T1, T2, T3, T4>::addOrReplaceContentItem(const size_t nodePos,
+ const E_RelationshipType relationshipType,
+ const E_ValueType valueType,
+ const DSRCodedEntryValue &conceptName,
+ const OFString &annotationText,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* check concept name and coded entry value */
+ if (conceptName.isComplete())
+ {
+ /* check whether content item already exists */
+ if (getEntryFromNodeList(nodePos) == 0)
+ {
+ /* if not, create the content item (at correct position) */
+ if (gotoLastEntryFromNodeList(this, nodePos) == getEntryFromNodeList(MEASUREMENT_GROUP))
+ {
+ /* need to add the new content item as the first child */
+ if (addContentItem(relationshipType, valueType, AM_belowCurrentBeforeFirstChild) > 0)
+ {
+ if (getCurrentContentItem().setConceptName(conceptName, check).bad())
+ result = SR_EC_InvalidConceptName;
+ } else
+ result = SR_EC_CannotAddContentItem;
+
+ } else {
+ /* add new content item as a sibling (after the current one) */
+ STORE_RESULT(addContentItem(relationshipType, valueType, conceptName));
+ }
+ /* store ID of added node for later use */
+ GOOD_RESULT(storeEntryInNodeList(nodePos, getNodeID()));
+ }
+ else if (gotoEntryFromNodeList(this, nodePos) > 0)
+ {
+ /* make sure that the value type of the existing content item is correct */
+ if (getCurrentContentItem().getValueType() != valueType)
+ {
+ DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") ... wrong value type");
+ result = SR_EC_InvalidContentItem;
+ }
+ else if (getCurrentContentItem().getConceptName() != conceptName)
+ {
+ DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") ... wrong concept name");
+ result = SR_EC_InvalidConceptName;
+ } else {
+ DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ")");
+ }
+ } else
+ result = SR_EC_InvalidTemplateStructure;
+ /* finally, set annotation */
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText));
+ } else
+ result = SR_EC_InvalidConceptName;
+ return result;
+}
+
+
+// explicit template instantiation (needed for use in TID 1500)
+template class TID1411_VolumetricROIMeasurements<CID7469_GenericIntensityAndSizeMeasurements,
+ CID7181_AbstractMultiDimensionalImageModelComponentUnits,
+ CID6147_ResponseCriteria,
+ CID7464_GeneralRegionOfInterestMeasurementModifiers>;
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * Source file for class TID1500_MeasurementReport
+ *
+ * Author: Joerg Riesmeier
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/cmr/tid1500.h"
+#include "dcmtk/dcmsr/cmr/logger.h"
+#include "dcmtk/dcmsr/codes/dcm.h"
+#include "dcmtk/dcmsr/codes/umls.h"
+
+#include "dcmtk/dcmsr/dsrtpltn.h"
+
+
+// helper macros for checking the return value of API calls
+#define CHECK_RESULT(call) if (result.good()) result = call
+#define STORE_RESULT(call) result = call
+#define GOOD_RESULT(call) if (result.good()) call
+#define BAD_RESULT(call) if (result.bad()) call
+
+// index positions in node list (makes source code more readable)
+#define MEASUREMENT_REPORT 0
+#define OBSERVATION_CONTEXT 1
+#define LAST_PROCEDURE_REPORTED 2
+#define IMAGING_MEASUREMENTS 3
+#define LAST_VOLUMETRIC_ROI_MEASUREMENTS 4
+#define QUALITATIVE_EVALUATIONS 5
+
+// general information on TID 1500 (Measurement Report)
+#define TEMPLATE_NUMBER "1500"
+#define MAPPING_RESOURCE "DCMR"
+#define MAPPING_RESOURCE_UID UID_DICOMContentMappingResource
+#define TEMPLATE_TYPE OFTrue /* extensible */
+
+// conditions constants
+makeOFConditionConst(CMR_EC_NoMeasurementReport, OFM_dcmsr, 1500, OF_error, "No Measurement Report");
+
+
+TID1500_MeasurementReport::TID1500_MeasurementReport(const CID7021_MeasurementReportDocumentTitles &title)
+ : DSRRootTemplate(DT_EnhancedSR, TEMPLATE_NUMBER, MAPPING_RESOURCE, MAPPING_RESOURCE_UID),
+ Language(new TID1204_LanguageOfContentItemAndDescendants()),
+ ObservationContext(new TID1001_ObservationContext()),
+ ImageLibrary(new TID1600_ImageLibrary()),
+ VolumetricROIMeasurements(new TID1411_Measurements())
+{
+ setExtensible(TEMPLATE_TYPE);
+ /* need to store position of various content items */
+ reserveEntriesInNodeList(6, OFTrue /*initialize*/);
+ /* if specified, create an initial report */
+ if (title.hasSelectedValue())
+ createMeasurementReport(title);
+}
+
+
+void TID1500_MeasurementReport::clear()
+{
+ DSRRootTemplate::clear();
+ Language->clear();
+ ObservationContext->clear();
+ ImageLibrary->clear();
+ VolumetricROIMeasurements->clear();
+}
+
+
+OFBool TID1500_MeasurementReport::isValid() const
+{
+ /* check whether base class is valid and all required content items are present */
+ return DSRRootTemplate::isValid() &&
+ Language->isValid() && ObservationContext->isValid() && ImageLibrary->isValid() &&
+ hasProcedureReported() && (hasImagingMeasurements() || hasQualitativeEvaluations());
+}
+
+
+OFBool TID1500_MeasurementReport::hasProcedureReported() const
+{
+ /* check for content item at TID 1500 (Measurement Report) Row 4 */
+ return (getEntryFromNodeList(LAST_PROCEDURE_REPORTED) > 0);
+}
+
+
+OFBool TID1500_MeasurementReport::hasImagingMeasurements(const OFBool checkChildren) const
+{
+ OFBool result = OFFalse;
+ /* need to check for child nodes? */
+ if (checkChildren)
+ {
+ DSRDocumentTreeNodeCursor cursor(getRoot());
+ /* go to content item at TID 1500 (Measurement Report) Row 6 */
+ if (gotoEntryFromNodeList(cursor, IMAGING_MEASUREMENTS) > 0)
+ {
+ /* check whether any of the "included templates" is non-empty */
+ if (cursor.gotoChild())
+ {
+ while (cursor.isValid() && (cursor.getNode()->getValueType() == VT_includedTemplate))
+ {
+ const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, cursor.getNode())->getValue().get();
+ if (subTempl != NULL)
+ {
+ result = !subTempl->isEmpty();
+ if (result) break;
+ }
+ if (cursor.gotoNext() == 0)
+ {
+ /* invalidate cursor */
+ cursor.clear();
+ }
+ }
+ }
+ }
+ } else {
+ /* check for content item at TID 1500 (Measurement Report) Row 6 */
+ result = (getEntryFromNodeList(IMAGING_MEASUREMENTS) > 0);
+ }
+ return result;
+}
+
+
+OFBool TID1500_MeasurementReport::hasVolumetricROIMeasurements(const OFBool checkChildren) const
+{
+ OFBool result = OFFalse;
+ /* need to check for child nodes? */
+ if (checkChildren)
+ {
+ DSRDocumentTreeNodeCursor cursor(getRoot());
+ /* go to content item at TID 1500 (Measurement Report) Row 8 */
+ if (gotoEntryFromNodeList(cursor, LAST_VOLUMETRIC_ROI_MEASUREMENTS) > 0)
+ {
+ /* check whether any of the "included TID 1411 templates" is non-empty */
+ while (cursor.isValid() && (cursor.getNode()->getValueType() == VT_includedTemplate))
+ {
+ const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, cursor.getNode())->getValue().get();
+ if (subTempl != NULL)
+ {
+ if (subTempl->compareTemplateIdentication("1411", "DCMR"))
+ {
+ result = !subTempl->isEmpty();
+ if (result) break;
+ } else {
+ /* exit loop */
+ break;
+ }
+ }
+ if (cursor.gotoPrevious() == 0)
+ {
+ /* invalidate cursor */
+ cursor.clear();
+ }
+ }
+ }
+ } else {
+ /* check for content item at TID 1500 (Measurement Report) Row 8 */
+ result = (getEntryFromNodeList(LAST_VOLUMETRIC_ROI_MEASUREMENTS) > 0);
+ }
+ return result;
+}
+
+
+OFBool TID1500_MeasurementReport::hasQualitativeEvaluations(const OFBool checkChildren) const
+{
+ OFBool result = OFFalse;
+ /* need to check for child nodes? */
+ if (checkChildren)
+ {
+ DSRDocumentTreeNodeCursor cursor(getRoot());
+ /* go to content item at TID 1500 (Measurement Report) Row 12 */
+ if (gotoEntryFromNodeList(cursor, QUALITATIVE_EVALUATIONS) > 0)
+ result = cursor.hasChildNodes();
+ } else {
+ /* check for content item at TID 1500 (Measurement Report) Row 12 */
+ result = (getEntryFromNodeList(QUALITATIVE_EVALUATIONS) > 0);
+ }
+ return result;
+}
+
+
+OFCondition TID1500_MeasurementReport::getDocumentTitle(DSRCodedEntryValue &titleCode)
+{
+ OFCondition result = EC_Normal;
+ /* go to content item at TID 1500 (Measurement Report) Row 1 */
+ if (gotoEntryFromNodeList(this, MEASUREMENT_REPORT) > 0)
+ {
+ titleCode = getCurrentContentItem().getConceptName();
+ } else {
+ /* in case of error, clear the result variable */
+ titleCode.clear();
+ result = SR_EC_ContentItemNotFound;
+ }
+ return result;
+}
+
+
+OFCondition TID1500_MeasurementReport::createNewMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title)
+{
+ clear();
+ /* TID 1500 (Measurement Report) Row 1 */
+ return createMeasurementReport(title);
+}
+
+
+OFCondition TID1500_MeasurementReport::setLanguage(const CID5000_Languages &language,
+ const CID5001_Countries &country,
+ const OFBool check)
+{
+ /* TID 1500 (Measurement Report) Row 2 */
+ return getLanguage().setLanguage(language, country, check);
+}
+
+
+OFCondition TID1500_MeasurementReport::addProcedureReported(const CID100_QuantitativeDiagnosticImagingProcedures &procedure,
+ const OFBool check)
+{
+ OFCondition result = EC_IllegalParameter;
+ /* make sure that there is a coded entry */
+ if (procedure.hasSelectedValue())
+ {
+ /* go to last content item at TID 1500 (Measurement Report) Row 3 or 4 */
+ if (gotoLastEntryFromNodeList(this, LAST_PROCEDURE_REPORTED, OBSERVATION_CONTEXT) > 0)
+ {
+ /* TID 1500 (Measurement Report) Row 4 */
+ STORE_RESULT(addContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_ProcedureReported, check));
+ CHECK_RESULT(getCurrentContentItem().setCodeValue(procedure, check));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 4"));
+ /* store ID of recently added node for later use */
+ GOOD_RESULT(storeEntryInNodeList(LAST_PROCEDURE_REPORTED, getNodeID()));
+ } else
+ result = CMR_EC_NoMeasurementReport;
+ }
+ return result;
+}
+
+
+OFCondition TID1500_MeasurementReport::addVolumetricROIMeasurements()
+{
+ OFCondition result = CMR_EC_NoMeasurementReport;
+ /* go to content item at TID 1500 (Measurement Report) Row 8 */
+ if (gotoEntryFromNodeList(this, LAST_VOLUMETRIC_ROI_MEASUREMENTS) > 0)
+ {
+ /* create new instance of TID 1411 (Volumetric ROI Measurements) */
+ TID1411_Measurements *subTempl = new TID1411_Measurements();
+ if (subTempl != NULL)
+ {
+ /* store (shared) reference to new instance */
+ VolumetricROIMeasurements.reset(subTempl);
+ /* and add it to the current template (TID 1500 - Row 8) */
+ STORE_RESULT(includeTemplate(VolumetricROIMeasurements, AM_afterCurrent, RT_contains));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 8"));
+ GOOD_RESULT(storeEntryInNodeList(LAST_VOLUMETRIC_ROI_MEASUREMENTS, getNodeID()));
+ /* tbc: what if the call of includeTemplate() fails? */
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition TID1500_MeasurementReport::addQualitativeEvaluation(const DSRCodedEntryValue &conceptName,
+ const DSRCodedEntryValue &codeValue,
+ const OFBool check)
+{
+ OFCondition result = EC_IllegalParameter;
+ /* make sure that the parameters are non-empty */
+ if (conceptName.isComplete() && codeValue.isComplete())
+ {
+ /* create content item at TID 1500 (Measurement Report) Row 12 if not existing */
+ result = createQualitativeEvaluations();
+ /* go to content item at TID 1500 (Measurement Report) Row 12 */
+ if (gotoEntryFromNodeList(this, QUALITATIVE_EVALUATIONS) > 0)
+ {
+ /* TID 1500 (Measurement Report) Row 13 */
+ CHECK_RESULT(addChildContentItem(RT_contains, VT_Code, conceptName, check));
+ CHECK_RESULT(getCurrentContentItem().setCodeValue(codeValue, check));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 13"));
+ } else
+ result = CMR_EC_NoMeasurementReport;
+ }
+ return result;
+}
+
+
+OFCondition TID1500_MeasurementReport::addQualitativeEvaluation(const DSRCodedEntryValue &conceptName,
+ const OFString &stringValue,
+ const OFBool check)
+{
+ OFCondition result = EC_IllegalParameter;
+ /* make sure that the parameters are non-empty */
+ if (conceptName.isComplete() && !stringValue.empty())
+ {
+ /* create content item at TID 1500 (Measurement Report) Row 12 if not existing */
+ result = createQualitativeEvaluations();
+ /* go to content item at TID 1500 (Measurement Report) Row 12 */
+ if (gotoEntryFromNodeList(this, QUALITATIVE_EVALUATIONS) > 0)
+ {
+ /* TID 1500 (Measurement Report) Row 14 */
+ CHECK_RESULT(addChildContentItem(RT_contains, VT_Text, conceptName, check));
+ CHECK_RESULT(getCurrentContentItem().setStringValue(stringValue, check));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 14"));
+ } else
+ result = CMR_EC_NoMeasurementReport;
+ }
+ return result;
+}
+
+
+// protected methods
+
+OFCondition TID1500_MeasurementReport::createMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title)
+{
+ OFCondition result = EC_IllegalParameter;
+ /* make sure that there is a coded entry */
+ if (title.hasSelectedValue())
+ {
+ /* reassure that the report is definitely empty */
+ if (isEmpty())
+ {
+ /* TID 1500 (Measurement Report) Row 1 */
+ STORE_RESULT(addContentItem(RT_isRoot, VT_Container, title));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 1"));
+ /* store ID of root node for later use */
+ if (result.good())
+ storeEntryInNodeList(MEASUREMENT_REPORT, getNodeID());
+ /* TID 1500 (Measurement Report) Row 2 */
+ CHECK_RESULT(includeTemplate(Language, AM_belowCurrent, RT_hasConceptMod));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 2"));
+ /* TID 1500 (Measurement Report) Row 3 */
+ CHECK_RESULT(includeTemplate(ObservationContext, AM_afterCurrent, RT_hasObsContext));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 3"));
+ GOOD_RESULT(storeEntryInNodeList(OBSERVATION_CONTEXT, getNodeID()));
+ /* TID 1500 (Measurement Report) Row 5 */
+ CHECK_RESULT(includeTemplate(ImageLibrary, AM_afterCurrent, RT_contains));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 5"));
+ /* TID 1500 (Measurement Report) Row 6 */
+ CHECK_RESULT(addContentItem(RT_contains, VT_Container, CODE_DCM_ImagingMeasurements));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 6"));
+ GOOD_RESULT(storeEntryInNodeList(IMAGING_MEASUREMENTS, getNodeID()));
+ /* TID 1500 (Measurement Report) Row 8 */
+ CHECK_RESULT(includeTemplate(VolumetricROIMeasurements, AM_belowCurrent, RT_contains));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 8"));
+ GOOD_RESULT(storeEntryInNodeList(LAST_VOLUMETRIC_ROI_MEASUREMENTS, getNodeID()));
+ /* if anything went wrong, clear the report */
+ BAD_RESULT(clear());
+ } else
+ result = SR_EC_InvalidTemplateStructure;
+ }
+ return result;
+}
+
+
+OFCondition TID1500_MeasurementReport::createQualitativeEvaluations()
+{
+ OFCondition result = EC_Normal;
+ /* check whether content item at TID 1500 (Measurement Report) Row 12 already exists */
+ if (!hasQualitativeEvaluations())
+ {
+ /* if not, go to the preceding content item, which always exists */
+ if (gotoEntryFromNodeList(this, IMAGING_MEASUREMENTS) > 0)
+ {
+ /* ... and add TID 1500 (Measurement Report) Row 12 */
+ STORE_RESULT(addContentItem(RT_contains, VT_Container, CODE_UMLS_QualitativeEvaluations));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 12"));
+ GOOD_RESULT(storeEntryInNodeList(QUALITATIVE_EVALUATIONS, getNodeID()));
+ } else
+ result = CMR_EC_NoMeasurementReport;
+ }
+ return result;
+}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Source file for class TID1600_ImageLibrary
#include "dcmtk/dcmsr/codes/ucum.h"
#include "dcmtk/dcmsr/dsrdattn.h"
-#include "dcmtk/dcmsr/dsrnumvl.h"
// helper macros for checking the return value of API calls
#define CHECK_RESULT(call) if (result.good()) result = call
#define STORE_RESULT(call) result = call
-#define DELETE_ERROR(pointer) if (result.bad()) delete pointer
+#define GOOD_RESULT(call) if (result.good()) call
+#define BAD_RESULT(call) if (result.bad()) call
// index positions in node list (makes source code more readable)
-#define LAST_IMAGE_LIBRARY_GROUP 0
-#define LAST_IMAGE_LIBRARY_ENTRY 1
+#define IMAGE_LIBRARY 0
+#define LAST_IMAGE_LIBRARY_GROUP 1
+#define LAST_IMAGE_LIBRARY_ENTRY 2
// general information on TID 1600 (Image Library)
#define TEMPLATE_NUMBER "1600"
// conditions constants
-makeOFConditionConst(CMR_EC_NoImageLibraryGroup, OFM_dcmsr, 1600, OF_error, "No Image Library Group");
-makeOFConditionConst(CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors, OFM_dcmsr, 1602, OF_error, "Cannot add multiple Image Library Entry Descriptors");
+makeOFConditionConst(CMR_EC_NoImageLibrary, OFM_dcmsr, 1600, OF_error, "No Image Library");
+makeOFConditionConst(CMR_EC_NoImageLibraryGroup, OFM_dcmsr, 1601, OF_error, "No Image Library Group");
+makeOFConditionConst(CMR_EC_NoImageLibraryEntry, OFM_dcmsr, 1602, OF_error, "No Image Library Entry");
+makeOFConditionConst(CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors, OFM_dcmsr, 1603, OF_error, "Cannot add multiple Image Library Entry Descriptors");
+makeOFConditionConst(CMR_EC_MissingImageLibraryEntryDescriptorModality, OFM_dcmsr, 1604, OF_error, "Missing Image Library Entry Descriptor 'Modality'");
+makeOFConditionConst(CMR_EC_WrongImageLibraryEntryDescriptorModality, OFM_dcmsr, 1605, OF_error, "Wrong Image Library Entry Descriptor 'Modality'");
+makeOFConditionConst(CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded, OFM_dcmsr, 1606, OF_ok, "No Image Library Entry Descriptors to be added");
-TID1600_ImageLibrary::TID1600_ImageLibrary()
+TID1600_ImageLibrary::TID1600_ImageLibrary(const OFBool createLibrary)
: DSRSubTemplate(TEMPLATE_NUMBER, MAPPING_RESOURCE, MAPPING_RESOURCE_UID)
{
setExtensible(TEMPLATE_TYPE);
- /* need to store last image library group and entry */
- reserveEntriesInNodeList(2);
+ /* need to store image library, last image library group and entry */
+ reserveEntriesInNodeList(3);
/* TID 1600 (Image Library) Row 1 */
- if (addChildContentItem(RT_unknown, VT_Container, CODE_DCM_ImageLibrary).good())
- getCurrentContentItem().setAnnotationText("TID 1600 - Row 1");
+ if (createLibrary)
+ createImageLibrary();
+}
+
+
+OFBool TID1600_ImageLibrary::isValid() const
+{
+ /* check whether base class is valid and image library exists */
+ return DSRSubTemplate::isValid() && hasImageLibrary();
+}
+
+
+OFBool TID1600_ImageLibrary::hasImageLibrary() const
+{
+ /* check for image library (TID 1600 - Row 1) */
+ return (getEntryFromNodeList(IMAGE_LIBRARY) > 0);
+}
+
+
+OFBool TID1600_ImageLibrary::hasImageLibraryGroup() const
+{
+ /* check for image library group (TID 1600 - Row 2) */
+ return (getEntryFromNodeList(LAST_IMAGE_LIBRARY_GROUP) > 0);
+}
+
+
+OFCondition TID1600_ImageLibrary::createNewImageLibrary()
+{
+ clear();
+ /* TID 1600 (Image Library) Row 1 */
+ return createImageLibrary();
}
OFCondition TID1600_ImageLibrary::addImageGroup()
{
- OFCondition result = EC_Normal;
- /* go to last image library group (if any) */
- if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0)
- {
- /* TID 1600 (Image Library) Row 2, append to last group */
- STORE_RESULT(addContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup));
- } else {
- /* TID 1600 (Image Library) Row 2, create first group (child) */
- STORE_RESULT(addChildContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup));
- }
- CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1600 - Row 2"));
- /* store ID of recently added node for later use */
- if (result.good())
+ OFCondition result = CMR_EC_NoImageLibrary;
+ /* check whether image library exists */
+ if (hasImageLibrary())
{
- storeEntryInNodeList(LAST_IMAGE_LIBRARY_GROUP, getNodeID());
- storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, 0 /* forget last entry */);
+ /* go to last image library group (if any) */
+ if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0)
+ {
+ /* TID 1600 (Image Library) Row 2, append to last group */
+ STORE_RESULT(addContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup));
+ }
+ /* go to image library (root node) */
+ else if (gotoEntryFromNodeList(this, IMAGE_LIBRARY) > 0)
+ {
+ /* TID 1600 (Image Library) Row 2, create first group (child) */
+ STORE_RESULT(addChildContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup));
+ } else {
+ /* should never happen but ... */
+ result = SR_EC_InvalidTemplateStructure;
+ }
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1600 - Row 2"));
+ /* store ID of recently added node for later use */
+ if (result.good())
+ {
+ storeEntryInNodeList(LAST_IMAGE_LIBRARY_GROUP, getNodeID());
+ storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, 0 /* forget last entry */);
+ }
}
return result;
}
-
OFCondition TID1600_ImageLibrary::addImageEntry(DcmItem &dataset,
const AddImageMode mode,
const OFBool check)
{
- OFCondition result = EC_MemoryExhausted;
- /* create a new subtree in order to "rollback" in case of error */
- DSRDocumentSubTree *tid1601 = new DSRDocumentSubTree;
- if (tid1601 != NULL)
+ OFCondition result = CMR_EC_NoImageLibraryGroup;
+ /* check whether image library group exists */
+ if (hasImageLibraryGroup())
{
- DSRImageReferenceValue imageRef;
- /* TID 1601 (Image Library Entry) Row 1 */
- STORE_RESULT(tid1601->addContentItem(RT_contains, VT_Image, DSRCodedEntryValue()));
- CHECK_RESULT(imageRef.setReference(dataset, check));
- CHECK_RESULT(tid1601->getCurrentContentItem().setImageReference(imageRef, check));
- CHECK_RESULT(tid1601->getCurrentContentItem().setAnnotationText("TID 1601 - Row 1"));
- const size_t lastNode = tid1601->getNodeID();
- /* TID 1601 (Image Library Entry) Row 2 */
- if (mode == withAllDescriptors)
+ /* create a new subtree in order to "rollback" in case of error */
+ DSRDocumentSubTree *tid1601 = new DSRDocumentSubTree;
+ if (tid1601 != NULL)
{
- /* create a new subtree for TID 1602 (Image Library Entry Descriptors) */
- DSRDocumentSubTree *tid1602 = new DSRDocumentSubTree;
- if (tid1602 != NULL)
+ DSRImageReferenceValue imageRef;
+ /* TID 1601 (Image Library Entry) Row 1 */
+ STORE_RESULT(tid1601->addContentItem(RT_contains, VT_Image, DSRCodedEntryValue(), check));
+ CHECK_RESULT(imageRef.setReference(dataset, check));
+ CHECK_RESULT(tid1601->getCurrentContentItem().setImageReference(imageRef, check));
+ CHECK_RESULT(tid1601->getCurrentContentItem().setAnnotationText("TID 1601 - Row 1"));
+ const size_t lastNode = tid1601->getNodeID();
+ /* TID 1601 (Image Library Entry) Row 2 */
+ if (mode == withAllDescriptors)
{
- /* call the function doing the real work */
- result = addImageEntryDescriptors(*tid1602, dataset, check);
- /* if everything was OK, insert new subtree into the template */
- if (result.good() && !tid1602->isEmpty())
+ /* create a new subtree for TID 1602 (Image Library Entry Descriptors) */
+ DSRDocumentSubTree *tid1602 = new DSRDocumentSubTree;
+ if (tid1602 != NULL)
{
- /* insert subtree below current node */
- result = tid1601->insertSubTree(tid1602);
- }
- /* in case of error, make sure that memory is freed */
- DELETE_ERROR(tid1602);
- } else
- result = EC_MemoryExhausted;
- }
- /* if everything was OK, insert new subtree into the template */
- if (result.good())
- {
- E_AddMode addMode = AM_afterCurrent;
- /* go to last image library entry (if any) */
- if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0)
- addMode = AM_afterCurrent;
- /* go to last image library group (if any) */
- else if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0)
- addMode = AM_belowCurrent;
- else
- result = CMR_EC_NoImageLibraryGroup;
- /* there is at least an image library group */
+ /* call the function doing the real work */
+ STORE_RESULT(addImageEntryDescriptors(*tid1602, dataset, check));
+ /* if everything was OK, insert new subtree into the template */
+ if (result.good() && !tid1602->isEmpty())
+ {
+ /* insert subtree below current node */
+ STORE_RESULT(tid1601->insertSubTree(tid1602));
+ /* in case of error, make sure that memory is freed */
+ BAD_RESULT(delete tid1602);
+ } else {
+ CHECK_RESULT(CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded);
+ /* delete the new subtree since it has not been inserted */
+ delete tid1602;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ }
+ /* if everything was OK, insert new subtree into the template */
if (result.good())
{
- /* insert subtree at current position */
- result = insertSubTree(tid1601, addMode);
- /* store ID of recently added node for later use */
+ E_AddMode addMode = AM_afterCurrent;
+ /* go to last image library entry (if any) */
+ if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0)
+ addMode = AM_afterCurrent;
+ /* go to last image library group */
+ else if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0)
+ addMode = AM_belowCurrent;
+ else {
+ /* should never happen but ... */
+ result = CMR_EC_NoImageLibraryGroup;
+ }
+ /* there is at least an image library group */
if (result.good())
- storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, lastNode);
+ {
+ /* insert subtree at current position */
+ STORE_RESULT(insertSubTree(tid1601, addMode));
+ /* store ID of recently added node for later use */
+ GOOD_RESULT(storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, lastNode));
+ }
}
- }
- /* in case of error, make sure that memory is freed */
- DELETE_ERROR(tid1601);
+ /* in case of error, make sure that memory is freed */
+ BAD_RESULT(delete tid1601);
+ } else
+ result = EC_MemoryExhausted;
}
return result;
}
OFCondition TID1600_ImageLibrary::addImageEntryDescriptors(DcmItem &dataset,
const OFBool check)
{
- OFCondition result = EC_MemoryExhausted;
- /* create a new subtree in order to "rollback" in case of error */
- DSRDocumentSubTree *subTree = new DSRDocumentSubTree;
- if (subTree != NULL)
+ OFCondition result = CMR_EC_NoImageLibraryGroup;
+ /* check whether image library group exists */
+ if (hasImageLibraryGroup())
{
- /* call the function doing the real work */
- result = addImageEntryDescriptors(*subTree, dataset, check);
- /* if everything was OK, insert new subtree into the template */
- if (result.good() && !subTree->isEmpty())
+ /* create a new subtree in order to "rollback" in case of error */
+ DSRDocumentSubTree *subTree = new DSRDocumentSubTree;
+ if (subTree != NULL)
{
- /* go to last image library group (if any) */
- if (gotoLastEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0)
+ /* call the function doing the real work */
+ STORE_RESULT(addImageEntryDescriptors(*subTree, dataset, check));
+ /* if everything was OK, insert new subtree into the template */
+ if (result.good() && !subTree->isEmpty())
{
-
- /* check whether TID 1600 (Image Library) Row 3 is already there */
- const DSRDocumentTreeNode *childNode = getChildNode();
- if ((childNode != NULL) && (childNode->getRelationshipType() == RT_hasAcqContext))
+ /* go to last image library group (if any) */
+ if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0)
{
- /* only a single invocation of the included template allowed */
- result = CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors;
+ /* check whether TID 1600 (Image Library) Row 3 is already there */
+ const DSRDocumentTreeNode *childNode = getChildNode();
+ if ((childNode != NULL) && (childNode->getRelationshipType() == RT_hasAcqContext))
+ {
+ /* only a single invocation of the included template allowed */
+ result = CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors;
+ } else {
+ /* insert subtree at current position */
+ STORE_RESULT(insertSubTree(subTree, AM_belowCurrentBeforeFirstChild));
+ }
} else {
- /* insert subtree at current position */
- result = insertSubTree(subTree, AM_belowCurrentBeforeFirstChild);
+ /* should never happen but ... */
+ result = CMR_EC_NoImageLibraryGroup;
}
- } else
- result = CMR_EC_NoImageLibraryGroup;
- }
- /* in case of error, make sure that memory is freed */
- DELETE_ERROR(subTree);
+ /* in case of error, make sure that memory is freed */
+ BAD_RESULT(delete subTree);
+ } else {
+ CHECK_RESULT(CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded);
+ /* delete the new subtree since it has not been inserted */
+ delete subTree;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ }
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::getImageEntryModality(DSRCodedEntryValue &modalityCode)
+{
+ OFCondition result = CMR_EC_NoImageLibraryEntry;
+ /* go to last image library entry (if any) */
+ if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0)
+ {
+ /* get value of TID 1602 (Image Library Entry Descriptors) Row 1 */
+ if ((gotoNamedChildNode(CODE_DCM_Modality, OFFalse /*searchIntoSub*/) > 0))
+ {
+ modalityCode = getCurrentContentItem().getCodeValue();
+ result = EC_Normal;
+ } else
+ result = CMR_EC_MissingImageLibraryEntryDescriptorModality;
}
+ /* in case of error, clear the result variable */
+ BAD_RESULT(modalityCode.clear());
+ return result;
+}
+
+
+// set methods
+
+OFCondition TID1600_ImageLibrary::setPETImageRadionuclide(const CID4020_PETRadionuclide &radionuclide,
+ const OFBool check)
+{
+ /* remember current node */
+ const DSRDocumentTreeNodeCursor cursor(getCursor());
+ /* go to image library entry and check for expected modality */
+ OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography);
+ /* set content item value (and add a new content item if needed) */
+ CHECK_RESULT(setCodeContentItemFromValue(CODE_SRT_Radionuclide, radionuclide, "TID 1607 - Row 1", check));
+ /* in case of error, reset cursor to stored node */
+ BAD_RESULT(setCursor(cursor));
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalAgent(const CID4021_PETRadiopharmaceutical &agent,
+ const OFBool check)
+{
+ /* remember current node */
+ const DSRDocumentTreeNodeCursor cursor(getCursor());
+ /* go to image library entry and check for expected modality */
+ OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography);
+ /* set content item value (and add a new content item if needed) */
+ CHECK_RESULT(setCodeContentItemFromValue(CODE_SRT_RadiopharmaceuticalAgent, agent, "TID 1607 - Row 2", check));
+ /* in case of error, reset cursor to stored node */
+ BAD_RESULT(setCursor(cursor));
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalStartDateTime(const OFString &dateTime,
+ const OFBool check)
+{
+ /* remember current node */
+ const DSRDocumentTreeNodeCursor cursor(getCursor());
+ /* go to image library entry and check for expected modality */
+ OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography);
+ /* set content item value (and add a new content item if needed) */
+ CHECK_RESULT(setStringContentItemFromValue(VT_DateTime, CODE_DCM_RadiopharmaceuticalStartTime /*DateTime*/, dateTime, "TID 1607 - Row 4", check));
+ /* in case of error, reset cursor to stored node */
+ BAD_RESULT(setCursor(cursor));
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalStopDateTime(const OFString &dateTime,
+ const OFBool check)
+{
+ /* remember current node */
+ const DSRDocumentTreeNodeCursor cursor(getCursor());
+ /* go to image library entry and check for expected modality */
+ OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography);
+ /* set content item value (and add a new content item if needed) */
+ CHECK_RESULT(setStringContentItemFromValue(VT_DateTime, CODE_DCM_RadiopharmaceuticalStopTime /*DateTime*/, dateTime, "TID 1607 - Row 5", check));
+ /* in case of error, reset cursor to stored node */
+ BAD_RESULT(setCursor(cursor));
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalVolume(const CMR_SRNumericMeasurementValue &volume,
+ const OFBool check)
+{
+ /* remember current node */
+ const DSRDocumentTreeNodeCursor cursor(getCursor());
+ /* go to image library entry and check for expected modality */
+ OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography);
+ /* set content item value (and add a new content item if needed) */
+ CHECK_RESULT(setNumericContentItemFromValue(CODE_DCM_RadiopharmaceuticalVolume, volume, CODE_UCUM_cm3 /*might change with a CP*/, "TID 1607 - Row 6", check));
+ /* in case of error, reset cursor to stored node */
+ BAD_RESULT(setCursor(cursor));
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setPETImageRadionuclideTotalDose(const CMR_SRNumericMeasurementValue &totalDose,
+ const OFBool check)
+{
+ /* remember current node */
+ const DSRDocumentTreeNodeCursor cursor(getCursor());
+ /* go to image library entry and check for expected modality */
+ OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography);
+ /* set content item value (and add a new content item if needed) */
+ CHECK_RESULT(setNumericContentItemFromValue(CODE_DCM_RadionuclideTotalDose, totalDose, CODE_UCUM_Bq, "TID 1607 - Row 7", check));
+ /* in case of error, reset cursor to stored node */
+ BAD_RESULT(setCursor(cursor));
return result;
}
// protected methods
+OFCondition TID1600_ImageLibrary::createImageLibrary()
+{
+ OFCondition result = SR_EC_InvalidTemplateStructure;
+ if (isEmpty())
+ {
+ /* TID 1600 (Image Library) Row 1 */
+ STORE_RESULT(addContentItem(RT_unknown, VT_Container, CODE_DCM_ImageLibrary));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1600 - Row 1"));
+ /* store ID of root node for later use */
+ GOOD_RESULT(storeEntryInNodeList(IMAGE_LIBRARY, getNodeID()));
+ }
+ return result;
+}
+
+
OFCondition TID1600_ImageLibrary::addImageEntryDescriptors(DSRDocumentSubTree &tree,
DcmItem &dataset,
const OFBool check)
/* determine modality code from CID 29 */
const CID29e_AcquisitionModality contextGroup;
DSRCodedEntryValue modalityCode(contextGroup.mapModality(modality));
- if (modalityCode.isValid())
+ if (modalityCode.isComplete())
{
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_Modality));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_Modality, check));
CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(modalityCode, check));
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1602 - Row 1"));
} else {
{
/* alternatively, determine target region code from CID 4031 (using PS 3.16 Annex L) */
regionCode = CID4031e_CommonAnatomicRegions::mapBodyPartExamined(bodyPartExamined);
- if (!regionCode.isValid())
+ if (!regionCode.isComplete())
{
/* report this as a debug message (avoid too many warnings) */
DCMSR_CMR_DEBUG("Cannot map Body Part Examined '" << bodyPartExamined << "' to a coded entry (no mapping to CID 4031 defined)");
}
}
}
- if (regionCode.isValid())
+ if (regionCode.isComplete())
{
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_TargetRegion));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_TargetRegion, check));
CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(regionCode, check));
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1602 - Row 2"));
}
{
/* determine image laterality code from CID 244 */
DSRCodedEntryValue lateralityCode(CID244e_Laterality::mapImageLaterality(imageLaterality));
- if (lateralityCode.isValid())
+ if (lateralityCode.isComplete())
{
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageLaterality));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageLaterality, check));
CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(lateralityCode, check));
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1602 - Row 3"));
} else {
DSRCodedEntryValue modifierCode;
if (modifierCode.readSequenceItem(*OFstatic_cast(DcmItem *, object), DCM_ViewModifierCodeSequence).good())
{
- CHECK_RESULT(tree.addChildContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageViewModifier));
+ CHECK_RESULT(tree.addChildContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageViewModifier, check));
CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(modifierCode, check));
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1603 - Row 2"));
tree.goUp();
OFCondition result = EC_Normal;
/* TID 1605 (Image Library Entry Descriptors for CT) Row 1 */
DcmSequenceOfItems *ctAcquisitionTypeSequence = NULL;
- /* - tbd: only check in functional groups sequences? */
+ /* - tbd: only check in functional groups sequences? might use "dcmfg" for this purpose */
if (dataset.findAndGetSequence(DCM_CTAcquisitionTypeSequence, ctAcquisitionTypeSequence, OFTrue /*searchIntoSub*/).good())
{
DcmItem *item = ctAcquisitionTypeSequence->getItem(0);
{
/* determine CT acquisition type code from CID 10013 */
DSRCodedEntryValue acquisitionTypeCode(CID10013e_CTAcquisitionType::mapAcquisitionType(acquisitionType));
- if (acquisitionTypeCode.isValid())
+ if (acquisitionTypeCode.isComplete())
{
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_CTAcquisitionType));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_CTAcquisitionType, check));
CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(acquisitionTypeCode, check));
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1605 - Row 1"));
} else {
}
/* TID 1605 (Image Library Entry Descriptors for CT) Row 2 */
DcmSequenceOfItems *ctReconstructionSequence = NULL;
- /* - tbd: only check in functional groups sequences? */
+ /* - tbd: only check in functional groups sequences? might use "dcmfg" for this purpose */
if (dataset.findAndGetSequence(DCM_CTReconstructionSequence, ctReconstructionSequence, OFTrue /*searchIntoSub*/).good())
{
DcmItem *item = ctReconstructionSequence->getItem(0);
{
/* determine CT reconstruction algorithm code from CID 10033 */
DSRCodedEntryValue reconstructionAlgorithmCode(CID10033e_CTReconstructionAlgorithm::mapReconstructionAlgorithm(reconstructionAlgorithm));
- if (reconstructionAlgorithmCode.isValid())
+ if (reconstructionAlgorithmCode.isComplete())
{
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ReconstructionAlgorithm));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ReconstructionAlgorithm, check));
CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(reconstructionAlgorithmCode, check));
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1605 - Row 2"));
} else {
if ((getStringValueFromDataset(dataset, DCM_PulseSequenceName, sequenceName).good() && !sequenceName.empty()) ||
(getStringValueFromDataset(dataset, DCM_SequenceName, sequenceName).good() && !sequenceName.empty()))
{
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Text, DSRCodedEntryValue("110909", "DCM", "Pulse Sequence Name") /* wrong definition? CODE_DCM_PulseSequenceName */));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Text, DSRCodedEntryValue("110909", "DCM", "Pulse Sequence Name") /* wrong definition: will be fixed with CP-1578 */, check));
CHECK_RESULT(tree.getCurrentContentItem().setStringValue(sequenceName, check));
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1606 - Row 1"));
}
/* TID 1607 (Image Library Entry Descriptors for PET) Row 2 */
CHECK_RESULT(addCodeContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalCodeSequence, CODE_SRT_RadiopharmaceuticalAgent, "TID 1607 - Row 2", check));
/* TID 1607 (Image Library Entry Descriptors for PET) Row 3 */
- CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideHalfLife, 0 /*pos*/, CODE_SRT_HalfLifeOfRadiopharmaceutical, CODE_UCUM_S, "TID 1607 - Row 3", check));
+ CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideHalfLife, 0 /*pos*/, CODE_SRT_HalfLifeOfRadiopharmaceutical, CODE_UCUM_s, "TID 1607 - Row 3", check));
/* TID 1607 (Image Library Entry Descriptors for PET) Row 4 */
CHECK_RESULT(addStringContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalStartDateTime, 0 /*pos*/, VT_DateTime, CODE_DCM_RadiopharmaceuticalStartTime /*DateTime*/, "TID 1607 - Row 4", check));
- /* TID 1607 (Image Library Entry Descriptors for PET) Row 4b */
- CHECK_RESULT(addStringContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalStopDateTime, 0 /*pos*/, VT_DateTime, CODE_DCM_RadiopharmaceuticalStopTime /*DateTime*/, "TID 1607 - Row 4b", check));
/* TID 1607 (Image Library Entry Descriptors for PET) Row 5 */
- CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalVolume, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalVolume, CODE_UCUM_Cm3, "TID 1607 - Row 5", check));
+ CHECK_RESULT(addStringContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalStopDateTime, 0 /*pos*/, VT_DateTime, CODE_DCM_RadiopharmaceuticalStopTime /*DateTime*/, "TID 1607 - Row 5", check));
/* TID 1607 (Image Library Entry Descriptors for PET) Row 6 */
- CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideTotalDose, 0 /*pos*/, CODE_DCM_RadionuclideTotalDose, CODE_UCUM_Bq, "TID 1607 - Row 6", check));
+ CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalVolume, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalVolume, CODE_UCUM_cm3 /*might change with a CP*/, "TID 1607 - Row 6", check));
/* TID 1607 (Image Library Entry Descriptors for PET) Row 7 */
- CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalSpecificActivity, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalSpecificActivity, CODE_UCUM_BqPerMol, "TID 1607 - Row 7", check));
+ CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideTotalDose, 0 /*pos*/, CODE_DCM_RadionuclideTotalDose, CODE_UCUM_Bq, "TID 1607 - Row 7", check));
/* TID 1607 (Image Library Entry Descriptors for PET) Row 8 */
- CHECK_RESULT(addCodeContentItemFromDataset(tree, *item, DCM_AdministrationRouteCodeSequence, CODE_SRT_RouteOfAdministration, "TID 1607 - Row 8", check));
+ CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalSpecificActivity, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalSpecificActivity, CODE_UCUM_BqPerMol, "TID 1607 - Row 8", check));
+ /* TID 1607 (Image Library Entry Descriptors for PET) Row 9 */
+ CHECK_RESULT(addCodeContentItemFromDataset(tree, *item, DCM_AdministrationRouteCodeSequence, CODE_SRT_RouteOfAdministration, "TID 1607 - Row 9", check));
}
}
- /* TID 1607 (Image Library Entry Descriptors for PET) Row 9 to 10
+ /* TID 1607 (Image Library Entry Descriptors for PET) Row 10 to 11
* - contained in TID 15101 (NM/PET Protocol Context), i.e. not available in the image
*/
- /* TID 1607 (Image Library Entry Descriptors for PET) Row 11
- * - tbc: where to get "Radionuclide Incubation Time
+ /* TID 1607 (Image Library Entry Descriptors for PET) Row 12
+ * - "Radionuclide Incubation Time" calculated from time of injection and time of starting the scan
*/
- /* TID 1607 (Image Library Entry Descriptors for PET) Row 12 to 14
+ /* TID 1607 (Image Library Entry Descriptors for PET) Row 13 to 15
* - contained in TID 15101 (NM/PET Protocol Context), i.e. available from Modality Worklist, or
* - tbd: in TID 3470 (NM/PET Acquisition Context), i.e. from the Acquisition Context Module
*/
}
+OFCondition TID1600_ImageLibrary::goAndCheckImageLibraryEntry(const DSRCodedEntryValue &modalityCode)
+{
+ OFCondition result = CMR_EC_NoImageLibraryEntry;
+ /* go to last image library entry (if any) */
+ if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0)
+ {
+ /* check whether TID 1602 (Image Library Entry Descriptors) Row 1 has correct value */
+ if ((gotoNamedChildNode(CODE_DCM_Modality, OFFalse /*searchIntoSub*/) > 0) &&
+ (getCurrentContentItem().getCodeValue() == modalityCode))
+ {
+ result = EC_Normal;
+ } else
+ result = CMR_EC_WrongImageLibraryEntryDescriptorModality;
+ }
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setStringContentItemFromValue(const E_ValueType valueType,
+ const DSRCodedEntryValue &conceptName,
+ const OFString &stringValue,
+ const OFString &annotationText,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* check concept name and coded entry value */
+ if (conceptName.isComplete())
+ {
+ if (!stringValue.empty())
+ {
+ /* check whether content item is already present.
+ * (we assume that the content item we are searching for is a successor of the current one)
+ */
+ if (gotoNextNamedNode(conceptName, OFFalse /*searchIntoSub*/) == 0)
+ {
+ CHECK_RESULT(addContentItem(RT_hasAcqContext, valueType, conceptName, check));
+ } else {
+ /* make sure that the value type of the existing content item is correct */
+ if (getCurrentContentItem().getValueType() == valueType)
+ {
+ DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") with \"" << stringValue << "\"");
+ } else {
+ DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") ... wrong value type");
+ result = SR_EC_InvalidContentItem;
+ }
+ }
+ CHECK_RESULT(getCurrentContentItem().setStringValue(stringValue, check));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText));
+ } else
+ result = SR_EC_InvalidValue;
+ } else
+ result = SR_EC_InvalidConceptName;
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setCodeContentItemFromValue(const DSRCodedEntryValue &conceptName,
+ const DSRCodedEntryValue &codeValue,
+ const OFString &annotationText,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* check concept name and coded entry value */
+ if (conceptName.isComplete())
+ {
+ if (codeValue.isComplete())
+ {
+ /* check whether content item is already present.
+ * (we assume that the content item we are searching for is a successor of the current one)
+ */
+ if (gotoNextNamedNode(conceptName, OFFalse /*searchIntoSub*/) == 0)
+ {
+ CHECK_RESULT(addContentItem(RT_hasAcqContext, VT_Code, conceptName, check));
+ } else {
+ /* make sure that the value type of the existing content item is correct */
+ if (getCurrentContentItem().getValueType() == VT_Code)
+ {
+ DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") with " << codeValue);
+ } else {
+ DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") ... wrong value type");
+ result = SR_EC_InvalidContentItem;
+ }
+ }
+ CHECK_RESULT(getCurrentContentItem().setCodeValue(codeValue, check));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText));
+ } else
+ result = SR_EC_InvalidValue;
+ } else
+ result = SR_EC_InvalidConceptName;
+ return result;
+}
+
+
+OFCondition TID1600_ImageLibrary::setNumericContentItemFromValue(const DSRCodedEntryValue &conceptName,
+ const DSRNumericMeasurementValue &numericValue,
+ const DSRCodedEntryValue &measurementUnit,
+ const OFString &annotationText,
+ const OFBool check)
+{
+ OFCondition result = EC_Normal;
+ /* check concept name and coded entry value */
+ if (conceptName.isComplete())
+ {
+ if (numericValue.isComplete())
+ {
+ /* check whether content item is already present.
+ * (we assume that the content item we are searching for is a successor of the current one)
+ */
+ if (gotoNextNamedNode(conceptName, OFFalse /*searchIntoSub*/) == 0)
+ {
+ CHECK_RESULT(addContentItem(RT_hasAcqContext, VT_Num, conceptName, check));
+ } else {
+ /* make sure that the value type of the existing content item is correct */
+ if (getCurrentContentItem().getValueType() == VT_Num)
+ {
+ DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") with " << numericValue);
+ } else {
+ DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ") ... wrong value type");
+ result = SR_EC_InvalidContentItem;
+ }
+ }
+ /* check whether measurement unit meets the template constraint */
+ if (result.good() && !measurementUnit.isEmpty() && (numericValue.getMeasurementUnit() != measurementUnit))
+ {
+ DCMSR_CMR_WARN("Wrong measurement unit for '" << conceptName.getCodeMeaning()
+ << "' content item (" << annotationText << ")");
+ result = SR_EC_ValueSetConstraintViolated;
+ }
+ CHECK_RESULT(getCurrentContentItem().setNumericValue(numericValue, check));
+ CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText));
+ } else
+ result = SR_EC_InvalidValue;
+ } else
+ result = SR_EC_InvalidConceptName;
+ return result;
+}
+
+
// static helper functions
OFCondition TID1600_ImageLibrary::addStringContentItemFromDataset(DSRDocumentSubTree &tree,
if (getStringValueFromDataset(dataset, tagKey, stringValue, pos).good() && !stringValue.empty())
{
/* create new content item, set concept name and value */
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, valueType, conceptName));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, valueType, conceptName, check));
CHECK_RESULT(tree.getCurrentContentItem().setStringValue(stringValue, check));
if (!annotationText.empty())
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText(annotationText));
OFCondition result = EC_Normal;
DSRCodedEntryValue codedEntry;
/* get coded entry from code sequence in dataset */
- if (codedEntry.readSequence(dataset, tagKey, "3" /*type*/).good() && codedEntry.isValid())
+ if (codedEntry.readSequence(dataset, tagKey, "3" /*type*/).good() && codedEntry.isComplete())
{
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, conceptName));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, conceptName, check));
CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(codedEntry, check));
if (!annotationText.empty())
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText(annotationText));
if (getStringValueFromDataset(dataset, tagKey, numericValue, pos).good() && !numericValue.empty())
{
/* create new content item, set concept name and value */
- CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Num, conceptName));
+ CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Num, conceptName, check));
CHECK_RESULT(tree.getCurrentContentItem().setNumericValue(DSRNumericMeasurementValue(numericValue, measurementUnit), check));
if (!annotationText.empty())
CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText(annotationText));
# create library from source files
-DCMTK_ADD_LIBRARY(dcmsr dsrcitem dsrcodtn dsrcodvl dsrcomtn dsrcomvl dsrcontn dsrcsidl dsrdattn dsrdoc dsrdocst dsrdoctn dsrdoctr dsrdtitn dsrimgfr dsrimgse dsrimgtn dsrimgvl dsrnumtn dsrnumvl dsrpnmtn dsrrefin dsrreftn dsrscogr dsrsc3gr dsrscotn dsrsc3tn dsrscovl dsrsc3vl dsrsoprf dsrstrvl dsrtcodt dsrtcosp dsrtcotn dsrtcoto dsrtcovl dsrtextn dsrtimtn dsrtncsr dsrtree dsrtypes dsruidtn dsrwavch dsrwavtn dsrwavvl dsrxmlc dsrxmld dsriodcc dsrbascc dsrenhcc dsrcomcc dsrkeycc dsrmamcc dsrchecc dsrcolcc dsrprocc dsrxrdcc dsrspecc dsrmaccc dsrimpcc dsrc3dcc dsrrrdcc dsrctpl dsrrtpl dsrstpl dsrctxgr)
+DCMTK_ADD_LIBRARY(dcmsr dsrcitem dsrcodtn dsrcodvl dsrcomtn dsrcomvl dsrcontn dsrcsidl dsrdattn dsrdoc dsrdocst dsrdoctn dsrdoctr dsrdtitn dsrimgfr dsrimgse dsrimgtn dsrimgvl dsrnumtn dsrnumvl dsrpnmtn dsrposcn dsrrefin dsrreftn dsrscogr dsrsc3gr dsrscotn dsrsc3tn dsrscovl dsrsc3vl dsrsoprf dsrstrvl dsrtcodt dsrtcosp dsrtcotn dsrtcoto dsrtcovl dsrtextn dsrtimtn dsrtpltn dsrtree dsrtypes dsruidtn dsrwavch dsrwavtn dsrwavvl dsrxmlc dsrxmld dsriodcc dsrbascc dsrenhcc dsrcomcc dsrkeycc dsrmamcc dsrchecc dsrcolcc dsrprocc dsrxrdcc dsrspecc dsrmaccc dsrimpcc dsrc3dcc dsrrrdcc dsracqcc dsrctpl dsrrtpl dsrstpl dsrctxgr)
DCMTK_TARGET_LINK_MODULES(dcmsr ofstd oflog dcmdata dcmimgle dcmimage)
DCMTK_TARGET_LINK_LIBRARIES(dcmsr ${LIBXML_LIBS})
+dsracqcc.o: dsracqcc.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/dsracqcc.h ../include/dcmtk/dcmsr/dsriodcc.h \
+ ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
+ ../include/dcmtk/dcmsr/dsdefine.h
dsrbascc.o: dsrbascc.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrbascc.h ../include/dcmtk/dcmsr/dsriodcc.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrc3dcc.o: dsrc3dcc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrchecc.o: dsrchecc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrcitem.o: dsrcitem.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdoctn.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrscovl.h \
../include/dcmtk/dcmsr/dsrscogr.h ../include/dcmtk/dcmsr/dsrtlist.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h
dsrcodvl.o: dsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrcomcc.o: dsrcomcc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrcomtn.o: dsrcomtn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcontn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h
dsrcsidl.o: dsrcsidl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdocst.h \
+ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdoctn.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
- ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
- ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
- ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrsc3vl.h \
- ../include/dcmtk/dcmsr/dsrsc3gr.h ../include/dcmtk/dcmsr/dsrtcovl.h \
- ../include/dcmtk/dcmsr/dsrtcodt.h ../include/dcmtk/dcmsr/dsrtcosp.h \
- ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
- ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
- ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h
+ ../include/dcmtk/dcmsr/dsrdocst.h ../include/dcmtk/dcmsr/dsrcitem.h \
+ ../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrscovl.h \
+ ../include/dcmtk/dcmsr/dsrscogr.h ../include/dcmtk/dcmsr/dsrtlist.h \
+ ../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \
+ ../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \
+ ../include/dcmtk/dcmsr/dsrtcosp.h ../include/dcmtk/dcmsr/dsrtcoto.h \
+ ../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrimgvl.h \
+ ../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrimgse.h \
+ ../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h
dsrctxgr.o: dsrctxgr.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdattn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrcontn.h \
- ../include/dcmtk/dcmsr/dsrreftn.h ../include/dcmtk/dcmsr/dsriodcc.h
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../include/dcmtk/dcmsr/dsrcontn.h ../include/dcmtk/dcmsr/dsrreftn.h \
+ ../include/dcmtk/dcmsr/dsrtpltn.h ../include/dcmtk/dcmsr/dsrstpl.h \
+ ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsriodcc.h
dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrdtitn.h ../include/dcmtk/dcmsr/dsrstrvl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrcontn.h \
- ../include/dcmtk/dcmsr/dsrreftn.h ../include/dcmtk/dcmsr/dsrxmld.h \
- ../include/dcmtk/dcmsr/dsrxmlc.h ../include/dcmtk/dcmsr/dsriodcc.h
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h \
+ ../include/dcmtk/dcmsr/dsrcontn.h ../include/dcmtk/dcmsr/dsrreftn.h \
+ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \
+ ../include/dcmtk/dcmsr/dsriodcc.h
dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdtitn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrimgfr.o: dsrimgfr.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h
dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h
dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrimgtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrtlist.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrtlist.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsriodcc.o: dsriodcc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrkeycc.o: dsrkeycc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrmaccc.o: dsrmaccc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrmamcc.o: dsrmamcc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrnumtn.o: dsrnumtn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrnumtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrpnmtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
+dsrposcn.o: dsrposcn.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
+ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../oflog/include/dcmtk/oflog/oflog.h \
+ ../../oflog/include/dcmtk/oflog/logger.h \
+ ../../oflog/include/dcmtk/oflog/config.h \
+ ../../oflog/include/dcmtk/oflog/config/defines.h \
+ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
+ ../../oflog/include/dcmtk/oflog/loglevel.h \
+ ../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../oflog/include/dcmtk/oflog/tchar.h \
+ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \
+ ../../oflog/include/dcmtk/oflog/appender.h \
+ ../../ofstd/include/dcmtk/ofstd/ofaptr.h \
+ ../../oflog/include/dcmtk/oflog/layout.h \
+ ../../oflog/include/dcmtk/oflog/streams.h \
+ ../../oflog/include/dcmtk/oflog/helpers/pointer.h \
+ ../../oflog/include/dcmtk/oflog/thread/syncprim.h \
+ ../../oflog/include/dcmtk/oflog/spi/filter.h \
+ ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \
+ ../../oflog/include/dcmtk/oflog/spi/logfact.h \
+ ../../oflog/include/dcmtk/oflog/logmacro.h \
+ ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
+ ../../oflog/include/dcmtk/oflog/tracelog.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \
+ ../../ofstd/include/dcmtk/ofstd/ofthread.h \
+ ../../ofstd/include/dcmtk/ofstd/offile.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstd.h \
+ ../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmap.h \
+ ../../ofstd/include/dcmtk/ofstd/ofutil.h \
+ ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdate.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdatime.h \
+ ../../ofstd/include/dcmtk/ofstd/oftime.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
+ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h
dsrprocc.o: dsrprocc.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrprocc.h ../include/dcmtk/dcmsr/dsriodcc.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrrefin.o: dsrrefin.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrreftn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h
dsrrrdcc.o: dsrrrdcc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
dsrsc3gr.o: dsrsc3gr.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h
dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrsc3tn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \
../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrsc3gr.h \
../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h
dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrscotn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h
dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h
dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h
dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtcotn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \
../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrtcosp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h
dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtcodt.h \
../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrtcosp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtextn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtimtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
-dsrtncsr.o: dsrtncsr.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/dcmsr/dsrtncsr.h \
- ../../ofstd/include/dcmtk/ofstd/ofstring.h \
- ../../ofstd/include/dcmtk/ofstd/oftypes.h \
- ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofcast.h \
- ../../ofstd/include/dcmtk/ofstd/ofexport.h \
- ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
- ../../ofstd/include/dcmtk/ofstd/ofstream.h \
- ../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../../ofstd/include/dcmtk/ofstd/oflist.h \
- ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtypes.h \
+dsrtpltn.o: dsrtpltn.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logger.h \
../../oflog/include/dcmtk/oflog/config.h \
+ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \
+ ../../ofstd/include/dcmtk/ofstd/ofcast.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexport.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \
../../oflog/include/dcmtk/oflog/config/defines.h \
../../oflog/include/dcmtk/oflog/helpers/threadcf.h \
../../oflog/include/dcmtk/oflog/loglevel.h \
../../ofstd/include/dcmtk/ofstd/ofvector.h \
+ ../../ofstd/include/dcmtk/ofstd/oftypes.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstream.h \
../../oflog/include/dcmtk/oflog/tstring.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../oflog/include/dcmtk/oflog/tchar.h \
../../oflog/include/dcmtk/oflog/spi/apndatch.h \
../../oflog/include/dcmtk/oflog/appender.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofcmdln.h \
+ ../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/ofconsol.h \
../../ofstd/include/dcmtk/ofstd/ofthread.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmsr/dsrtnant.h
+ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtpltn.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
+ ../include/dcmtk/dcmsr/dsrtncsr.h \
+ ../../ofstd/include/dcmtk/ofstd/ofstack.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/dsrdoctr.h \
+ ../include/dcmtk/dcmsr/dsrdocst.h ../include/dcmtk/dcmsr/dsrcitem.h \
+ ../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrscovl.h \
+ ../include/dcmtk/dcmsr/dsrscogr.h ../include/dcmtk/dcmsr/dsrtlist.h \
+ ../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \
+ ../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \
+ ../include/dcmtk/dcmsr/dsrtcosp.h ../include/dcmtk/dcmsr/dsrtcoto.h \
+ ../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrimgvl.h \
+ ../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrimgse.h \
+ ../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \
+ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h
dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h
dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtextn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrcodtn.h \
../include/dcmtk/dcmsr/dsrnumtn.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrprocc.h ../include/dcmtk/dcmsr/dsrxrdcc.h \
../include/dcmtk/dcmsr/dsrspecc.h ../include/dcmtk/dcmsr/dsrmaccc.h \
../include/dcmtk/dcmsr/dsrimpcc.h ../include/dcmtk/dcmsr/dsrc3dcc.h \
- ../include/dcmtk/dcmsr/dsrrrdcc.h
+ ../include/dcmtk/dcmsr/dsrrrdcc.h ../include/dcmtk/dcmsr/dsracqcc.h
dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsruidtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \
../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h \
../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrwavtn.h \
../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrtlist.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrtlist.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrxmlc.h
dsrxrdcc.o: dsrxrdcc.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h
-I$(dcmimgledir)/include -I$(dcmimagedir)/include
LOCALDEFS =
-objs = dsrdoc.o dsrtree.o dsrtncsr.o dsrdoctn.o dsrdoctr.o dsrdocst.o \
+objs = dsrdoc.o dsrposcn.o dsrtree.o dsrdoctn.o dsrdoctr.o dsrdocst.o \
dsrctpl.o dsrrtpl.o dsrstpl.o dsrctxgr.o dsrcitem.o dsrtypes.o \
dsrimgfr.o dsrimgse.o dsrscogr.o dsrsc3gr.o dsrtcodt.o dsrtcosp.o \
dsrtcoto.o dsrwavch.o dsrstrvl.o dsrcodvl.o dsrnumvl.o dsrscovl.o \
dsrsc3vl.o dsrtcovl.o dsrcomvl.o dsrimgvl.o dsrwavvl.o dsrtextn.o \
dsrcodtn.o dsrnumtn.o dsrdtitn.o dsrdattn.o dsrtimtn.o dsruidtn.o \
dsrpnmtn.o dsrscotn.o dsrsc3tn.o dsrtcotn.o dsrcomtn.o dsrimgtn.o \
- dsrwavtn.o dsrcontn.o dsrreftn.o dsrsoprf.o dsrrefin.o dsrcsidl.o \
- dsrxmlc.o dsrxmld.o \
+ dsrwavtn.o dsrcontn.o dsrreftn.o dsrtpltn.o \
+ dsrsoprf.o dsrrefin.o dsrcsidl.o dsrxmlc.o dsrxmld.o \
dsriodcc.o dsrbascc.o dsrenhcc.o dsrcomcc.o dsrkeycc.o dsrmamcc.o \
dsrchecc.o dsrcolcc.o dsrprocc.o dsrxrdcc.o dsrspecc.o dsrmaccc.o \
- dsrimpcc.o dsrc3dcc.o dsrrrdcc.o
+ dsrimpcc.o dsrc3dcc.o dsrrrdcc.o dsracqcc.o
library = libdcmsr.$(LIBEXT)
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmsr
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose:
+ * classes: DSRAcquisitionContextConstraintChecker
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsracqcc.h"
+
+
+DSRAcquisitionContextConstraintChecker::DSRAcquisitionContextConstraintChecker()
+ : DSRIODConstraintChecker()
+{
+}
+
+
+DSRAcquisitionContextConstraintChecker::~DSRAcquisitionContextConstraintChecker()
+{
+}
+
+
+OFBool DSRAcquisitionContextConstraintChecker::isByReferenceAllowed() const
+{
+ return OFFalse;
+}
+
+
+OFBool DSRAcquisitionContextConstraintChecker::isTemplateSupportRequired() const
+{
+ return OFFalse;
+}
+
+
+OFCondition DSRAcquisitionContextConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
+{
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
+}
+
+
+DSRTypes::E_DocumentType DSRAcquisitionContextConstraintChecker::getDocumentType() const
+{
+ return DT_AcquisitionContextSR;
+}
+
+
+OFBool DSRAcquisitionContextConstraintChecker::checkContentRelationship(const E_ValueType sourceValueType,
+ const E_RelationshipType relationshipType,
+ const E_ValueType targetValueType,
+ const OFBool byReference) const
+{
+ /* the following code implements the constraints of table A.35.x-2 in DICOM PS3.3 (Supplement 187) */
+ OFBool result = OFFalse;
+ /* by-reference relationships not allowed at all */
+ if (!byReference)
+ {
+ /* row 1 of the table */
+ if ((relationshipType == RT_contains) && (sourceValueType == VT_Container))
+ {
+ result = (targetValueType == VT_Code) || (targetValueType == VT_Container) || (targetValueType == VT_DateTime) ||
+ (targetValueType == VT_Num) || (targetValueType == VT_PName) || (targetValueType == VT_Text) ||
+ (targetValueType == VT_Time) || (targetValueType == VT_UIDRef);
+ }
+ /* row 2 of the table */
+ else if ((relationshipType == RT_hasObsContext) && ((sourceValueType == VT_Container)))
+ {
+ result = (targetValueType == VT_Code) || (targetValueType == VT_Date) || (targetValueType == VT_DateTime) ||
+ (targetValueType == VT_Num) || (targetValueType == VT_PName) || (targetValueType == VT_Text) ||
+ (targetValueType == VT_Time) || (targetValueType == VT_UIDRef);
+ }
+ /* row 3 of the table */
+ else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Code))
+ {
+ result = (targetValueType == VT_Code);
+ }
+ /* row 4 of the table */
+ else if (relationshipType == RT_hasConceptMod)
+ {
+ result = (targetValueType == VT_Code) || (targetValueType == VT_Text);
+ }
+ /* row 5 of the table */
+ else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_Code))
+ {
+ result = (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || (targetValueType == VT_Num) ||
+ (targetValueType == VT_SCoord3D) || (targetValueType == VT_Text);
+ }
+ }
+ return result;
+}
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRBasicTextSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRBasicTextSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return NULL;
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
}
(targetValueType == VT_PName) || (targetValueType == VT_Image) || (targetValueType == VT_Waveform) ||
(targetValueType == VT_Composite);
}
- /* row 6 of the table - introduced with CP 1076 */
+ /* row 6 of the table - introduced with CP-1076 */
else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName))
{
result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) ||
}
-const char *DSRComprehensive3DSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRComprehensive3DSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return NULL;
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
}
const E_ValueType targetValueType,
const OFBool byReference) const
{
- /* the following code implements the contraints of table A.35.X-2 in DICOM PS3.3 (Supplement 162) */
+ /* the following code implements the constraints of table A.35.13-2 in DICOM PS3.3 */
OFBool result = OFFalse;
/* row 1 of the table */
if ((relationshipType == RT_contains) && (sourceValueType == VT_Container))
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRChestCadSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRChestCadSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "4100";
+ templateIdentifier = "4100";
+ mappingResource = "DCMR";
+ return EC_Normal;
}
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
+OFBool DSRCodedEntryValue::operator!=(const DSRCodedEntryValue &codedEntryValue) const
+{
+ /* Code Meaning is not used for comparing the two codes */
+ return (CodeValue != codedEntryValue.CodeValue) ||
+ (CodingSchemeDesignator != codedEntryValue.CodingSchemeDesignator) ||
+ (CodingSchemeVersion != codedEntryValue.CodingSchemeVersion);
+}
+
+
OFBool DSRCodedEntryValue::operator==(const DSRBasicCodedEntry &basicCodedEntry) const
{
/* Code Meaning is not used for comparing the two codes */
}
+OFBool DSRCodedEntryValue::operator!=(const DSRBasicCodedEntry &basicCodedEntry) const
+{
+ /* Code Meaning is not used for comparing the two codes */
+ return (CodeValue != basicCodedEntry.CodeValue) ||
+ (CodingSchemeDesignator != basicCodedEntry.CodingSchemeDesignator) ||
+ (CodingSchemeVersion != basicCodedEntry.CodingSchemeVersion);
+}
+
+
void DSRCodedEntryValue::clear()
{
CodeValueType = DSRTypes::CVT_auto;
}
+OFBool DSRCodedEntryValue::isComplete() const
+{
+ return !CodeValue.empty() && !CodingSchemeDesignator.empty() && !CodeMeaning.empty();
+}
+
+
void DSRCodedEntryValue::print(STD_NAMESPACE ostream &stream,
const OFBool printCodeValue,
const size_t flags) const
/* check for a common error: Context Group Identifier includes "CID" prefix */
if ((ContextIdentifier.find_first_not_of("0123456789") != OFString_npos) || (ContextIdentifier.at(0) == '0'))
{
- DCMSR_DEBUG("Reading invalid ContextIdentifier (" << ContextIdentifier << ")");
- DCMSR_WARN("ContextIdentifier shall be a string of digits without leading zeros");
+ DCMSR_DEBUG("Reading invalid Context Identifier (" << ContextIdentifier << ")");
+ DCMSR_WARN("Context Identifier shall be a string of digits without leading zeros");
}
DSRTypes::getAndCheckStringValueFromDataset(dataset, DCM_MappingResource, MappingResource, "1", "1" /* was 1C */, moduleName);
DSRTypes::getAndCheckStringValueFromDataset(dataset, DCM_ContextGroupVersion, ContextGroupVersion, "1", "1" /* was 1C */, moduleName);
codeValueType = DSRTypes::CVT_Short;
return codeValueType;
}
+
+
+// output operators
+
+STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream,
+ const DSRCodedEntryValue& codedEntryValue)
+{
+ codedEntryValue.print(stream, OFTrue /*printCodeValue*/, 0 /*flags*/);
+ return stream;
+}
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRColonCadSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRColonCadSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "4120";
+ templateIdentifier = "4120";
+ mappingResource = "DCMR";
+ return EC_Normal;
}
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRComprehensiveSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRComprehensiveSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return NULL;
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
}
const E_ValueType targetValueType,
const OFBool byReference) const
{
- /* the following code implements the contraints of table A.35.3-2 in DICOM PS3.3 */
+ /* the following code implements the constraints of table A.35.3-2 in DICOM PS3.3 */
OFBool result = OFFalse;
/* row 1 of the table */
if ((relationshipType == RT_contains) && (sourceValueType == VT_Container))
(targetValueType == VT_Waveform) || (targetValueType == VT_Composite) || (targetValueType == VT_SCoord) ||
(targetValueType == VT_TCoord) || (targetValueType == VT_Container);
}
- /* row 6 of the table - introduced with CP 1076 */
+ /* row 6 of the table - introduced with CP-1076 */
else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName))
{
result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) ||
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
+OFBool DSRCompositeReferenceValue::isComplete() const
+{
+ return !SOPClassUID.empty() && !SOPInstanceUID.empty();
+}
+
+
OFCondition DSRCompositeReferenceValue::print(STD_NAMESPACE ostream &stream,
const size_t flags) const
{
}
+const OFString DSRCompositeReferenceValue::getSOPClassName(const OFString &defaultName) const
+{
+ /* lookup name associated with the SOP class UID */
+ return SOPClassUID.empty() ? "" : dcmFindNameOfUID(SOPClassUID.c_str(), defaultName.c_str());
+}
+
+
OFCondition DSRCompositeReferenceValue::getValue(DSRCompositeReferenceValue &referenceValue) const
{
referenceValue = *this;
/*
*
- * Copyright (C) 2003-2015, OFFIS e.V.
+ * Copyright (C) 2003-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
putStringValueToDataset(*ditem, DCM_CodingSchemeExternalID, item->CodingSchemeExternalID, OFFalse /*allowEmpty*/);
else if (!item->CodingSchemeExternalID.empty())
{
- DCMSR_WARN("Both CodingSchemeUID and CodingSchemeExternalID present for \""
+ DCMSR_WARN("Both Coding Scheme UID and Coding Scheme External ID present for \""
<< item->CodingSchemeDesignator << "\", the latter will be ignored");
}
putStringValueToDataset(*ditem, DCM_CodingSchemeName, item->CodingSchemeName, OFFalse /*allowEmpty*/);
result = EC_MemoryExhausted;
}
} else {
- DCMSR_WARN("CodingSchemeDesignator \"" << codingSchemeDesignator
- << "\" already exists in CodingSchemeIdentificationSequence ... overwriting");
+ DCMSR_WARN("Coding Scheme Designator \"" << codingSchemeDesignator
+ << "\" already exists in Coding Scheme Identification Sequence ... overwriting");
/* gotoItem() was successful, set item pointer */
item = *Iterator;
}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
}
+void DSRTemplateCommon::clear()
+{
+ clearEntriesInNodeList();
+}
+
+
OFBool DSRTemplateCommon::hasTemplateIdentification() const
{
/* mapping resource UID is optional, so do not check it */
}
+OFBool DSRTemplateCommon::compareTemplateIdentication(const OFString &templateIdentifier,
+ const OFString &mappingResource,
+ const OFString &mappingResourceUID) const
+{
+ OFBool result = (TemplateIdentifier == templateIdentifier) && (MappingResource == mappingResource);
+ /* mapping resource UID is optional, so only check it if present */
+ if (result && !MappingResourceUID.empty() && !mappingResourceUID.empty())
+ result = (MappingResourceUID == mappingResourceUID);
+ return result;
+}
+
+
// protected methods
-void DSRTemplateCommon::reserveEntriesInNodeList(const size_t count)
+void DSRTemplateCommon::clearEntriesInNodeList()
{
- NodeList.reserve(count);
+ /* set all entries to 0 */
+ for (size_t i = 0; i < NodeList.size(); ++i)
+ NodeList[i] = 0;
+}
+
+
+void DSRTemplateCommon::reserveEntriesInNodeList(const size_t count,
+ const OFBool initialize)
+{
+ /* check whether the entries should be initialized... */
+ if (initialize)
+ {
+ NodeList.resize(count);
+ clearEntriesInNodeList();
+ } else {
+ /* ... or only reserved (not created and initialized) */
+ NodeList.reserve(count);
+ }
}
}
+size_t DSRTemplateCommon::gotoEntryFromNodeList(DSRDocumentTreeNodeCursor &cursor,
+ const size_t pos) const
+{
+ size_t nodeID = 0;
+ /* make sure that cursor is valid and list entry exists */
+ if ((cursor.isValid()) && (pos < NodeList.size()))
+ {
+ nodeID = NodeList[pos];
+ /* check whether current node is already the right one */
+ if (cursor.getNodeID() != nodeID)
+ nodeID = cursor.gotoNode(nodeID);
+ }
+ return nodeID;
+}
+
+
size_t DSRTemplateCommon::gotoEntryFromNodeList(DSRDocumentSubTree *tree,
const size_t pos)
{
size_t DSRTemplateCommon::gotoLastEntryFromNodeList(DSRDocumentSubTree *tree,
- const size_t lastPos)
+ const size_t lastPos,
+ const size_t firstPos)
{
size_t nodeID = 0;
/* make sure that tree is valid and list entry exists */
- if ((tree != NULL) && (lastPos < NodeList.size()))
+ if ((tree != NULL) && (firstPos <= lastPos) && (lastPos < NodeList.size()))
{
size_t pos = lastPos + 1;
- while ((pos > 0) && (nodeID == 0))
+ while ((pos > firstPos) && (nodeID == 0))
nodeID = NodeList[--pos];
/* check whether current node is already the right one */
if (tree->getNodeID() != nodeID)
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
}
+OFBool DSRContextGroup::hasExtendedCodedEntries() const
+{
+ return !ExtendedCodes.empty();
+}
+
+
OFCondition DSRContextGroup::addCodedEntry(const DSRCodedEntryValue &codedEntryValue)
{
OFCondition result = EC_Normal;
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
getElementFromDataset(dataset, SOPClassUID); /* already checked */
getAndCheckElementFromDataset(dataset, SOPInstanceUID, "1", "1", "SOPCommonModule");
getAndCheckElementFromDataset(dataset, SpecificCharacterSet, "1-n", "1C", "SOPCommonModule");
- if (SpecificCharacterSet.getVM() > 1)
- DCMSR_WARN("Multiple values for Specific Character Set are not supported");
- getStringValueFromElement(SpecificCharacterSet, tmpString);
+ getStringValueFromElement(SpecificCharacterSet, tmpString, -1 /* all components */);
/* currently, the VR checker in 'dcmdata' only supports ASCII and Latin-1 */
if (!tmpString.empty() && (tmpString != "ISO_IR 6") && (tmpString != "ISO_IR 100"))
DCMSR_WARN("The VR checker does not support this Specific Character Set: " << tmpString);
PredecessorDocuments.read(dataset, flags);
/* need to check sequence in two steps (avoids additional getAndCheck... method) */
searchCond = getElementFromDataset(dataset, PerformedProcedureCode);
- checkElementValue(PerformedProcedureCode, "1", "2", searchCond, "SRDocumentGeneralModule");
+ checkElementValue(PerformedProcedureCode, "1-n", "2", searchCond, "SRDocumentGeneralModule");
PertinentOtherEvidence.read(dataset, flags);
ReferencedInstances.read(dataset, flags);
}
if (CompletionFlagEnum == CF_invalid)
printUnknownValueWarningMessage("CompletionFlag", tmpString.c_str());
else if ((CompletionFlagEnum == CF_Partial) && (documentType == DT_XRayRadiationDoseSR))
- DCMSR_WARN("Invalid value for CompletionFlag, should be 'COMPLETE' for X-Ray Radiation Dose SR");
+ DCMSR_WARN("Invalid value for Completion Flag, should be 'COMPLETE' for X-Ray Radiation Dose SR");
/* get and check VerificationFlag / VerifyingObserverSequence */
VerificationFlagEnum = enumeratedValueToVerificationFlag(getStringValueFromElement(VerificationFlag, tmpString));
if (VerificationFlagEnum == VF_invalid)
else if (VerificationFlagEnum == VF_Verified)
checkElementValue(VerifyingObserver, "1-n", "1", obsSearchCond, "SRDocumentGeneralModule");
}
- SpecificCharacterSetEnum = definedTermToCharacterSet(getStringValueFromElement(SpecificCharacterSet, tmpString));
+ getStringValueFromElement(SpecificCharacterSet, tmpString, -1 /* all components */);
+ SpecificCharacterSetEnum = definedTermToCharacterSet(tmpString);
/* check SpecificCharacterSet */
if ((SpecificCharacterSetEnum == CS_invalid) && !tmpString.empty())
printUnknownValueWarningMessage("SpecificCharacterSet", tmpString.c_str());
/* checking particular values */
if ((CompletionFlagEnum == CF_Partial) && (getDocumentType() == DT_XRayRadiationDoseSR))
- DCMSR_WARN("Invalid value for CompletionFlag, should be 'COMPLETE' for X-Ray Radiation Dose SR");
+ DCMSR_WARN("Invalid value for Completion Flag, should be 'COMPLETE' for X-Ray Radiation Dose SR");
/* write general document attributes */
PredecessorDocuments.write(dataset); /* optional */
/* always write empty sequence since not yet fully supported */
PerformedProcedureCode.clear();
- addElementToDataset(result, dataset, new DcmSequenceOfItems(PerformedProcedureCode), "1", "2", "SRDocumentGeneralModule");
+ addElementToDataset(result, dataset, new DcmSequenceOfItems(PerformedProcedureCode), "1-n", "2", "SRDocumentGeneralModule");
if (result.good())
result = PertinentOtherEvidence.write(dataset);
if (result.good())
stream << "<?xml version=\"1.0\"";
/* optional character set */
tmpString = characterSetToXMLName(SpecificCharacterSetEnum);
- if (!tmpString.empty())
- {
- if (tmpString != "?")
- stream << " encoding=\"" << tmpString << "\"";
- else
- DCMSR_WARN("Cannot map Specific Character Set to equivalent XML encoding");
- }
+ if (!tmpString.empty() && (tmpString != "?"))
+ stream << " encoding=\"" << tmpString << "\"";
+ else if (!SpecificCharacterSet.isEmpty())
+ DCMSR_WARN("Cannot map Specific Character Set to equivalent XML encoding");
stream << "?>" << OFendl;
stream << "<report";
}
-OFCondition DSRDocument::setTreeFromRootTemplate(DSRRootTemplate &rootTemplate)
+OFCondition DSRDocument::setTreeFromRootTemplate(DSRRootTemplate &rootTemplate,
+ const OFBool expandTree)
{
- /* call the functions doing the real work */
- return setTree(rootTemplate.getTree());
+ OFCondition result = EC_Normal;
+ /* check whether to expand the included templates (if any) */
+ if (expandTree)
+ {
+ DSRDocumentSubTree *tree = NULL;
+ /* expand tree managed by the template and replace the currently stored tree */
+ result = rootTemplate.getTree().createExpandedSubTree(tree);
+ if (result.good())
+ result = DocumentTree.changeDocumentType(rootTemplate.getDocumentType(), OFTrue /*deleteTree*/);
+ if (result.good())
+ result = DocumentTree.insertSubTree(tree, AM_belowCurrent, RT_unknown, OFFalse /*deleteIfFail*/);
+ /* update IOD-specific DICOM attributes */
+ updateAttributes(OFFalse /*updateAll*/);
+ /* in case of error, free memory */
+ if (result.bad())
+ delete tree;
+ } else {
+ /* call the functions doing the real work */
+ result = setTree(rootTemplate.getTree());
+ }
+ return result;
}
OFCondition DSRDocument::setSpecificCharacterSet(const OFString &value,
const OFBool check)
{
- /* we only support a single value, i.e. no code extensions */
- OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
+ OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1-n") : EC_Normal;
if (result.good())
{
SpecificCharacterSetEnum = definedTermToCharacterSet(value);
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmsr/dsrdocst.h"
#include "dcmtk/dcmsr/dsrcontn.h"
#include "dcmtk/dcmsr/dsrreftn.h"
+#include "dcmtk/dcmsr/dsrtpltn.h"
+#include "dcmtk/dcmsr/dsrstpl.h"
#include "dcmtk/dcmsr/dsriodcc.h"
ConstraintChecker(NULL),
CurrentContentItem()
{
- /* the real work is done in the base class DSRTree */
+ /* the real work is done in the base class DSRTree,
+ * so just update the by-reference relationships (if any) */
+ checkByReferenceRelationships(CM_updateNodeID);
}
}
+OFBool DSRDocumentSubTree::isCursorValid() const
+{
+ /* check whether cursor points to an existing node */
+ return DSRTreeNodeCursor<DSRDocumentTreeNode>::isValid();
+}
+
+
OFBool DSRDocumentSubTree::isValidDocumentTree(const E_RelationshipType defaultRelType) const
{
OFBool result = OFFalse;
}
+OFBool DSRDocumentSubTree::isExpandedDocumentTree() const
+{
+ OFBool result = OFTrue;
+ DSRDocumentTreeNodeCursor cursor(getRoot());
+ if (cursor.isValid())
+ {
+ /* search for a single INCLUDE template node */
+ do {
+ result = (cursor.getNode()->getValueType() != VT_includedTemplate);
+ } while (result && cursor.iterate());
+ }
+ return result;
+}
+
+
OFBool DSRDocumentSubTree::hasTemplateIdentification() const
{
OFBool result = OFFalse;
OFCondition DSRDocumentSubTree::print(STD_NAMESPACE ostream &stream,
- const size_t flags)
+ const size_t flags,
+ DSRPositionCounter *posCounter)
{
OFCondition result = EC_Normal;
- DSRDocumentTreeNodeCursor cursor(getRoot());
+ /* initialize cursor with root node (and optional position counter) */
+ DSRDocumentTreeNodeCursor cursor(getRoot(), posCounter);
if (cursor.isValid())
{
/* check and update by-reference relationships (if applicable) */
/* update the document tree for output (if needed) */
updateTreeForOutput();
OFString tmpString;
- size_t level = 0;
- const DSRDocumentTreeNode *node = NULL;
+ DSRDocumentTreeNode *node;
/* iterate over all nodes */
do {
node = cursor.getNode();
- if (node != NULL)
+ /* check whether to print node ID, position, indentation at all */
+ if ((node->getValueType() != VT_includedTemplate) || !(flags & PF_hideIncludedTemplateNodes))
{
/* print node ID (might be useful for debugging purposes) */
if (flags & PF_printNodeID)
stream << cursor.getPosition(tmpString) << " ";
} else {
/* use line indentation */
- level = cursor.getLevel();
+ const size_t level = cursor.getPositionCounter().getLevel();
if (level > 0) // valid ?
stream << OFString((level - 1) * 2, ' ');
}
+ }
+ /* special handling for included templates */
+ if (node->getValueType() == VT_includedTemplate)
+ {
+ /* print separate line for internal template node (if requested) */
+ if (!(flags & PF_hideIncludedTemplateNodes))
+ {
+ DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER)
+ /* print content of template node */
+ node->print(stream, flags);
+ DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_RESET)
+ stream << OFendl;
+ }
+ /* print content of included template (subtree) */
+ if (node->hasValidValue())
+ {
+ DSRSubTemplate *subTempl = OFstatic_cast(DSRIncludedTemplateTreeNode *, node)->getValue().get();
+ /* further indent included subtree */
+ if (!(flags & PF_hideIncludedTemplateNodes))
+ cursor.getPositionCounter().goDown();
+ /* only print non-empty template (subtree) */
+ if (!subTempl->isEmpty())
+ result = subTempl->print(stream, flags, &cursor.getPositionCounter());
+ /* make sure that empty templates are not counted */
+ else if (flags & PF_hideIncludedTemplateNodes)
+ --cursor.getPositionCounter();
+ /* reset indentation of included subtree */
+ if (!(flags & PF_hideIncludedTemplateNodes))
+ cursor.getPositionCounter().goUp();
+ }
+ } else {
/* print node content */
DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER)
stream << "<";
result = node->print(stream, flags);
DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER)
stream << ">";
- /* print observation date/time (optional) */
- if (!node->getObservationDateTime().empty())
- {
- stream << " {" << dicomToReadableDateTime(node->getObservationDateTime(), tmpString) << "}";
- }
- /* print annotation (optional) */
- if (node->hasAnnotation() && (flags & PF_printAnnotation))
- {
- DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_ANNOTATION)
- stream << " \"" << node->getAnnotation().getText() << "\"";
- }
- /* print template identification (conditional) */
- if (node->hasTemplateIdentification() && (flags & PF_printTemplateIdentification))
- {
- OFString templateIdentifier;
- OFString mappingResource;
- OFString mappingResourceUID;
- if (node->getTemplateIdentification(templateIdentifier, mappingResource, mappingResourceUID).good())
- {
- DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER)
- stream << " # ";
- DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_TEMPLATE_ID)
- stream << "TID " << templateIdentifier;
- stream << " (" << mappingResource;
- if (!mappingResourceUID.empty())
- stream << ", " << mappingResourceUID;
- stream << ")";
- }
- }
+ /* print extended information on the node */
+ if (result.good())
+ result = node->printExtended(stream, flags);
DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_RESET)
stream << OFendl;
- } else
- result = SR_EC_InvalidDocumentTree;
+ }
} while (result.good() && cursor.iterate());
}
+ /* store and return current value of position counter (if needed) */
+ if (posCounter != NULL)
+ *posCounter = cursor.getPositionCounter();
+ return result;
+}
+
+
+OFCondition DSRDocumentSubTree::writeXML(STD_NAMESPACE ostream &stream,
+ const size_t flags)
+{
+ OFCondition result = SR_EC_InvalidDocumentTree;
+ /* check whether document tree is valid */
+ if (isValid())
+ {
+ DSRDocumentTreeNodeCursor cursor(getRoot());
+ /* start writing from root node */
+ if (cursor.isValid())
+ {
+ /* check by-reference relationships (if applicable) */
+ checkByReferenceRelationships(CM_resetReferenceTargetFlag);
+ /* update the document tree for output (if needed) */
+ updateTreeForOutput();
+ /* write current node (and its siblings) */
+ do {
+ result = cursor.getNode()->writeXML(stream, flags);
+ } while (result.good() && cursor.gotoNext());
+ }
+ }
return result;
}
}
+size_t DSRDocumentSubTree::countNodes(const OFBool searchIntoSubTemplates,
+ const OFBool countIncludedTemplateNodes) const
+{
+ size_t count = 0;
+ /* check whether special handling of included templates is needed */
+ if (searchIntoSubTemplates || !countIncludedTemplateNodes)
+ {
+ DSRDocumentTreeNodeCursor cursor(getRoot());
+ if (cursor.isValid())
+ {
+ /* iterate over all nodes */
+ do {
+ if (cursor.getNode()->getValueType() == VT_includedTemplate)
+ {
+ /* special handling: count nodes of included subtree */
+ if (searchIntoSubTemplates)
+ {
+ const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, cursor.getNode())->getValue().get();
+ if (subTempl != NULL)
+ count += subTempl->countNodes(searchIntoSubTemplates, countIncludedTemplateNodes);
+ }
+ /* also need to count "included template" node */
+ if (countIncludedTemplateNodes)
+ ++count;
+ } else {
+ /* standard case */
+ ++count;
+ }
+ } while (cursor.iterate());
+ }
+ } else {
+ /* call the inherited function */
+ count = DSRTree<DSRDocumentTreeNode>::countNodes();
+ }
+ return count;
+}
+
+
size_t DSRDocumentSubTree::gotoNamedNode(const DSRCodedEntryValue &conceptName,
const OFBool startFromRoot,
const OFBool searchIntoSub)
{
if (startFromRoot)
gotoRoot();
- const DSRDocumentTreeNode *node = NULL;
+ const DSRDocumentTreeNode *node;
/* iterate over all nodes */
do {
node = getNode();
}
+size_t DSRDocumentSubTree::gotoNamedChildNode(const DSRCodedEntryValue &conceptName,
+ const OFBool searchIntoSub)
+{
+ /* first, goto child node */
+ size_t nodeID = gotoChild();
+ if (nodeID > 0)
+ nodeID = gotoNamedNode(conceptName, OFFalse /*startFromRoot*/, searchIntoSub);
+ return nodeID;
+}
+
+
size_t DSRDocumentSubTree::gotoNextNamedNode(const DSRCodedEntryValue &conceptName,
const OFBool searchIntoSub)
{
OFBool DSRDocumentSubTree::canAddContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const E_AddMode addMode)
+ const E_AddMode addMode) const
{
OFBool result = OFFalse;
/* never accept invalid types */
if ((relationshipType != RT_invalid) && (valueType != VT_invalid))
{
- const DSRDocumentTreeNode *node = getNode();
- if (node != NULL)
+ /* also do not accept internal types */
+ if ((valueType != VT_byReference) && (valueType != VT_includedTemplate))
{
- /* do we have an IOD constraint checker? */
- if (ConstraintChecker != NULL)
+ const DSRDocumentTreeNode *node = getNode();
+ if (node != NULL)
{
- if ((addMode == AM_beforeCurrent) || (addMode == AM_afterCurrent))
+ /* do we have an IOD constraint checker? */
+ if (ConstraintChecker != NULL)
{
- /* check parent node */
- node = getParentNode();
- if (node != NULL)
+ if ((addMode == AM_beforeCurrent) || (addMode == AM_afterCurrent))
+ {
+ /* check parent node */
+ node = getParentNode();
+ if (node != NULL)
+ result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, valueType);
+ } else
result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, valueType);
- } else
- result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, valueType);
- }
- /* a root node can only be added to an empty tree */
- else if (relationshipType != RT_isRoot)
- {
- /* "unknown" relationships are only allowed on top-level */
- result = (!hasParentNode() && (addMode != AM_belowCurrent)) || (relationshipType != RT_unknown);
+ }
+ /* a root node can only be added to an empty tree */
+ else if (relationshipType != RT_isRoot)
+ {
+ /* "unknown" relationships are only allowed on top-level */
+ result = (!hasParentNode() && (addMode != AM_belowCurrent)) || (relationshipType != RT_unknown);
+ }
+ } else {
+ /* no special rules for root node (at least in a subtree) */
+ result = OFTrue;
}
- } else {
- /* no special rules for root node (at least in a subtree) */
- result = OFTrue;
}
}
return result;
OFBool DSRDocumentSubTree::canAddByReferenceRelationship(const E_RelationshipType relationshipType,
- const E_ValueType targetValueType)
+ const E_ValueType targetValueType) const
{
OFBool result = OFFalse;
/* never accept invalid types */
result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, targetValueType, OFTrue /*byReference*/);
} else {
/* certain relationships are never allowed */
- result = (relationshipType != RT_isRoot) && (relationshipType != RT_unknown);
+ result = (relationshipType != RT_isRoot) && (relationshipType != RT_unknown) && (targetValueType != VT_includedTemplate);
}
}
return result;
OFCondition DSRDocumentSubTree::addContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const DSRCodedEntryValue &conceptName)
+ const DSRCodedEntryValue &conceptName,
+ const OFBool check)
{
OFCondition result = EC_Normal;
/* call the functions doing the real work */
if (!conceptName.isEmpty())
{
/* use a more appropriate error code than the one returned */
- if (getCurrentContentItem().setConceptName(conceptName).bad())
+ if (getCurrentContentItem().setConceptName(conceptName, check).bad())
result = SR_EC_InvalidConceptName;
}
} else
OFCondition DSRDocumentSubTree::addChildContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const DSRCodedEntryValue &conceptName)
+ const DSRCodedEntryValue &conceptName,
+ const OFBool check)
{
OFCondition result = EC_Normal;
/* call the functions doing the real work */
if (!conceptName.isEmpty())
{
/* use a more appropriate error code than the one returned */
- if (getCurrentContentItem().setConceptName(conceptName).bad())
+ if (getCurrentContentItem().setConceptName(conceptName, check).bad())
result = SR_EC_InvalidConceptName;
}
} else
if (cursor.isValid())
{
/* goto specified target node (might be improved later on) */
- if (cursor.gotoNode(referencedNodeID))
+ if (cursor.gotoNode(referencedNodeID) > 0)
{
OFString sourceString;
OFString targetString;
if (sourceString.substr(0, targetString.length()) != targetString)
{
const DSRDocumentTreeNode *targetNode = cursor.getNode();
- if (targetNode != NULL)
+ const E_ValueType targetValueType = targetNode->getValueType();
+ /* check whether relationship is valid/allowed */
+ if (canAddByReferenceRelationship(relationshipType, targetValueType))
{
- const E_ValueType targetValueType = targetNode->getValueType();
- /* check whether relationship is valid/allowed */
- if (canAddByReferenceRelationship(relationshipType, targetValueType))
+ DSRDocumentTreeNode *node = new DSRByReferenceTreeNode(relationshipType, referencedNodeID, targetValueType);
+ if (node != NULL)
{
- DSRDocumentTreeNode *node = new DSRByReferenceTreeNode(relationshipType, referencedNodeID, targetValueType);
- if (node != NULL)
+ nodeID = addNode(node, AM_belowCurrent);
+ /* in case of error, free allocated memory */
+ if (nodeID == 0)
{
- nodeID = addNode(node, AM_belowCurrent);
- /* in case of error, free allocated memory */
- if (nodeID == 0)
- {
- delete node;
- node = NULL;
- } else {
- /* otherwise, go back to current node */
- goUp();
- }
+ delete node;
+ node = NULL;
+ } else {
+ /* otherwise, go back to current node */
+ goUp();
}
}
}
+ } else {
+ /* report a warning with some details to the debug logger */
+ DCMSR_DEBUG("Invalid by-reference relationship from content item \""
+ << sourceString << "\" to \"" << targetString << "\" (loop check)");
}
+ } else {
+ /* report a warning with some details to the debug logger */
+ DCMSR_DEBUG("Target content item of by-reference relationship does not exist");
}
}
}
}
-OFBool DSRDocumentSubTree::canInsertSubTree(DSRDocumentSubTree *tree,
+OFCondition DSRDocumentSubTree::updateByReferenceRelationships()
+{
+ /* update the position strings of by-reference relationships */
+ return checkByReferenceRelationships(CM_updatePositionString);
+}
+
+
+OFBool DSRDocumentSubTree::canInsertSubTree(const DSRDocumentSubTree *tree,
const E_AddMode addMode,
- const E_RelationshipType defaultRelType)
+ const E_RelationshipType defaultRelType) const
{
OFBool result = OFFalse;
if (tree != NULL)
{
- const DSRDocumentTreeNode *currentNode = getNode();
- if (currentNode != NULL)
+ if (getNode() != NULL)
{
/* check whether the top-level nodes of the subtree can be added */
DSRDocumentTreeNodeCursor cursor(tree->getRoot());
}
+OFCondition DSRDocumentSubTree::createExpandedSubTree(DSRDocumentSubTree *&tree) const
+{
+ OFCondition result = EC_Normal;
+ if (!isEmpty())
+ {
+ /* first, create a clone of this tree */
+ tree = clone();
+ if (tree != NULL)
+ {
+ /* expand all "included template" nodes in the new tree */
+ result = expandIncludedTemplates(tree);
+ /* in case of error, free memory */
+ if (result.bad())
+ {
+ delete tree;
+ tree = NULL;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else {
+ tree = NULL;
+ result = SR_EC_EmptyDocumentTree;
+ }
+ return result;
+}
+
+
+OFBool DSRDocumentSubTree::compareTemplateIdentification(const OFString &templateIdentifier,
+ const OFString &mappingResource,
+ const OFString &mappingResourceUID) const
+{
+ OFBool result = OFFalse;
+ /* check whether template identification is possible */
+ if (canUseTemplateIdentification())
+ {
+ /* compare with template identification of root CONTAINER */
+ result = getRoot()->compareTemplateIdentification(templateIdentifier, mappingResource, mappingResourceUID);
+ }
+ return result;
+}
+
+
OFCondition DSRDocumentSubTree::getTemplateIdentification(OFString &templateIdentifier,
OFString &mappingResource) const
{
}
+size_t DSRDocumentSubTree::replaceNode(DSRDocumentTreeNode *node)
+{
+ /* might add further checks later on */
+ return DSRTree<DSRDocumentTreeNode>::replaceNode(node);
+}
+
+
DSRDocumentTreeNode *DSRDocumentSubTree::extractNode()
{
/* might add further checks later on */
}
+OFCondition DSRDocumentSubTree::includeTemplate(const DSRSharedSubTemplate &subTemplate,
+ const E_AddMode addMode,
+ const E_RelationshipType defaultRelType)
+{
+ OFCondition result = EC_Normal;
+ /* make sure that managed object exists */
+ if (subTemplate)
+ {
+ /* create node that stores the reference to the included template */
+ DSRDocumentTreeNode *node = new DSRIncludedTemplateTreeNode(subTemplate, defaultRelType);
+ if (node != NULL)
+ {
+ /* check whether adding the node actually works */
+ if (addNode(node, addMode) == 0)
+ {
+ result = SR_EC_CannotAddContentItem;
+ /* if not, delete node */
+ delete node;
+ }
+ } else
+ result = EC_MemoryExhausted;
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
+OFCondition DSRDocumentSubTree::expandIncludedTemplates(DSRDocumentSubTree *tree) const
+{
+ OFCondition result = EC_Normal;
+ /* make sure that the passed tree pointer is valid and the tree is not empty */
+ if ((tree != NULL) && (tree->gotoRoot() > 0))
+ {
+ OFBool nodeDeleted;
+ const DSRDocumentTreeNode *node;
+ /* iterate over all nodes */
+ do {
+ node = tree->getNode();
+ nodeDeleted = OFFalse;
+ if (node != NULL)
+ {
+ /* and expand the included templates (if any) */
+ if (node->getValueType() == VT_includedTemplate)
+ {
+ const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, node)->getValue().get();
+ if (subTempl != NULL)
+ {
+ /* template has no content items */
+ if (subTempl->isEmpty())
+ {
+ /* just remove current node (included template) */
+ nodeDeleted = (tree->removeNode() > 0);
+ } else {
+ /* clone the subtree managed by the template */
+ DSRDocumentSubTree *subTree = subTempl->cloneTree();
+ if (subTree != NULL)
+ {
+ /* check whether there are any "unknown" relationships on top level */
+ const E_RelationshipType defaultRelType = node->getRelationshipType();
+ DSRDocumentTreeNodeCursor cursor(subTree->getRoot());
+ do {
+ DSRDocumentTreeNode *curNode = cursor.getNode();
+ /* if so, replace them with the "default" relationship type */
+ if ((curNode != NULL) && (curNode->getRelationshipType() == RT_unknown))
+ curNode->setRelationshipType(defaultRelType);
+ } while (cursor.gotoNext());
+ /* replace the current node (and its children) with the cloned subtree */
+ if (tree->replaceNode(subTree->getRoot()) > 0)
+ {
+ /* "forget" reference to root node */
+ subTree->getAndRemoveRootNode();
+ } else
+ result = SR_EC_CannotInsertSubTree;
+ /* free memory */
+ delete subTree;
+ } else
+ result = EC_MemoryExhausted;
+ }
+ }
+ }
+ } else
+ result = SR_EC_InvalidDocumentTree;
+ } while (result.good() && (nodeDeleted || tree->iterate()));
+ /* finally, set cursor back to root node */
+ if (result.good())
+ tree->gotoRoot();
+ } else
+ result = EC_IllegalParameter;
+ return result;
+}
+
+
OFCondition DSRDocumentSubTree::checkByReferenceRelationships(const size_t mode,
const size_t flags)
{
DSRDocumentTreeNodeCursor cursor(getRoot());
if (cursor.isValid())
{
- const DSRDocumentTreeNode *node = NULL;
/* for all content items */
do {
- node = cursor.getNode();
- if (node != NULL)
+ /* only check/update by-reference relationships */
+ if (cursor.getNode()->getValueType() == VT_byReference)
{
- /* only check/update by-reference relationships */
- if (node->getValueType() == VT_byReference)
+ size_t refNodeID = 0;
+ OFString nodePosString;
+ cursor.getPosition(nodePosString);
+ /* type cast to access members of by-reference class */
+ DSRByReferenceTreeNode *byRefNode = OFconst_cast(DSRByReferenceTreeNode *, OFstatic_cast(const DSRByReferenceTreeNode *, cursor.getNode()));
+ if (flags & RF_showCurrentlyProcessedItem)
+ DCMSR_INFO("Updating by-reference relationship in content item " << nodePosString);
+ /* start searching from root node, be careful with large trees! (tbd: might be improved later on) */
+ DSRDocumentTreeNodeCursor refCursor(getRoot());
+ if (mode & CM_updateNodeID)
{
- size_t refNodeID = 0;
- OFString nodePosString;
- cursor.getPosition(nodePosString);
- /* type cast to access members of by-reference class */
- DSRByReferenceTreeNode *byRefNode = OFconst_cast(DSRByReferenceTreeNode *, OFstatic_cast(const DSRByReferenceTreeNode *, node));
- if (flags & RF_showCurrentlyProcessedItem)
- DCMSR_INFO("Updating by-reference relationship in content item " << nodePosString);
- /* start searching from root node, be careful with large trees! (tbd: might be improved later on) */
- DSRDocumentTreeNodeCursor refCursor(getRoot());
- if (mode & CM_updateNodeID)
+ /* update node ID (based on position string; tbc: what about included templates?) */
+ refNodeID = refCursor.gotoNode(byRefNode->getReferencedContentItem());
+ const DSRDocumentTreeNode *targetNode = (refNodeID > 0) ? refCursor.getNode() : NULL;
+ const E_ValueType targetValueType = (targetNode != NULL) ? targetNode->getValueType() : VT_invalid;
+ byRefNode->updateReference(refNodeID, targetValueType);
+ } else {
+ /* node ID is expected to be valid */
+ refNodeID = refCursor.gotoNode(byRefNode->getReferencedNodeID());
+ if (mode & CM_updatePositionString)
{
- /* update node ID (based on position string) */
- refNodeID = refCursor.gotoNode(byRefNode->getReferencedContentItem());
- const DSRDocumentTreeNode *targetNode = (refNodeID > 0) ? refCursor.getNode() : NULL;
- const E_ValueType targetValueType = (targetNode != NULL) ? targetNode->getValueType() : VT_invalid;
- byRefNode->updateReference(refNodeID, targetValueType);
- } else {
- /* node ID is expected to be valid */
- refNodeID = refCursor.gotoNode(byRefNode->getReferencedNodeID());
- if (mode & CM_updatePositionString)
- {
- OFString refPosString;
- /* update position string */
- if (refNodeID > 0)
- refCursor.getPosition(refPosString);
- byRefNode->updateReference(refPosString);
- } else if (refNodeID == 0)
- byRefNode->invalidateReference();
- }
- const OFString refContentItem(byRefNode->getReferencedContentItem());
- if (refNodeID > 0)
+ OFString refPosString;
+ /* update position string (tbd: does not yet work correctly with "included templates" */
+ if (refNodeID > 0)
+ refCursor.getPosition(refPosString);
+ byRefNode->updateReference(refPosString);
+ } else if (refNodeID == 0)
+ byRefNode->invalidateReference();
+ }
+ const OFString refContentItem(byRefNode->getReferencedContentItem());
+ if (refNodeID > 0)
+ {
+ /* source and target content items should not be identical */
+ if (refNodeID != cursor.getNodeID())
{
- /* source and target content items should not be identical */
- if (refNodeID != cursor.getNodeID())
+ /* check whether target node is an ancestor of source node (prevent loops) */
+ if (refContentItem.empty() || (nodePosString.substr(0, refContentItem.length()) != refContentItem))
{
- /* check whether target node is an ancestor of source node (prevent loops) */
- if (refContentItem.empty() || (nodePosString.substr(0, refContentItem.length()) != refContentItem))
+ /* refCursor should now point to the reference target (refNodeID > 0) */
+ const DSRDocumentTreeNode *parentNode = cursor.getParentNode();
+ DSRDocumentTreeNode *targetNode = refCursor.getNode();
+ if ((parentNode != NULL) && (targetNode != NULL))
{
- /* refCursor should now point to the reference target (refNodeID > 0) */
- const DSRDocumentTreeNode *parentNode = cursor.getParentNode();
- DSRDocumentTreeNode *targetNode = refCursor.getNode();
- if ((parentNode != NULL) && (targetNode != NULL))
+ /* specify that this content item is target of an by-reference relationship */
+ targetNode->setReferenceTarget();
+ /* do we really need to check the constraints? */
+ E_RelationshipType relationshipType = byRefNode->getRelationshipType();
+ if (!(flags & RF_ignoreRelationshipConstraints) &&
+ (!(flags & RF_acceptUnknownRelationshipType) || (relationshipType != RT_unknown)))
{
- /* specify that this content item is target of an by-reference relationship */
- targetNode->setReferenceTarget();
- /* do we really need to check the constraints? */
- E_RelationshipType relationshipType = byRefNode->getRelationshipType();
- if (!(flags & RF_ignoreRelationshipConstraints) &&
- (!(flags & RF_acceptUnknownRelationshipType) || (relationshipType != RT_unknown)))
+ /* check whether relationship is valid */
+ if ((ConstraintChecker != NULL) &&
+ !ConstraintChecker->checkContentRelationship(parentNode->getValueType(), relationshipType,
+ targetNode->getValueType(), OFTrue /*byReference*/))
{
- /* check whether relationship is valid */
- if ((ConstraintChecker != NULL) &&
- !ConstraintChecker->checkContentRelationship(parentNode->getValueType(), relationshipType,
- targetNode->getValueType(), OFTrue /*byReference*/))
- {
- if (refContentItem.empty())
- DCMSR_WARN("Invalid by-reference relationship at content item \"" << nodePosString << "\"");
- else {
- DCMSR_WARN("Invalid by-reference relationship between content item \""
- << nodePosString << "\" and \"" << refContentItem << "\"");
- }
+ if (refContentItem.empty())
+ DCMSR_WARN("Invalid by-reference relationship at content item \"" << nodePosString << "\"");
+ else {
+ DCMSR_WARN("Invalid by-reference relationship between content item \""
+ << nodePosString << "\" and \"" << refContentItem << "\"");
}
}
- } else
- DCMSR_WARN("Corrupted data structures while checking by-reference relationships");
- } else {
- DCMSR_WARN("By-reference relationship from \"" << nodePosString << "\" to ancestor content item \""
- << refContentItem << "\" (loop check)");
- }
- } else
- DCMSR_WARN("Source and target content item of by-reference relationship are identical");
- } else {
- if (refContentItem.empty())
- DCMSR_WARN("Target content item of by-reference relationship does not exist");
- else
- DCMSR_WARN("Target content item \"" << refContentItem << "\" of by-reference relationship does not exist");
- }
+ }
+ } else
+ DCMSR_WARN("Corrupted data structures while checking by-reference relationships");
+ } else {
+ DCMSR_WARN("By-reference relationship from \"" << nodePosString << "\" to ancestor content item \""
+ << refContentItem << "\" (loop check)");
+ }
+ } else
+ DCMSR_WARN("Source and target content item of by-reference relationship are identical");
+ } else {
+ if (refContentItem.empty())
+ DCMSR_WARN("Target content item of by-reference relationship does not exist");
+ else
+ DCMSR_WARN("Target content item \"" << refContentItem << "\" of by-reference relationship does not exist");
}
- } else
- result = SR_EC_InvalidDocumentTree;
+ }
} while (result.good() && cursor.iterate());
}
}
DSRDocumentTreeNodeCursor cursor(getRoot());
if (cursor.isValid())
{
- DSRDocumentTreeNode *node = NULL;
/* iterate over all nodes */
do {
- node = cursor.getNode();
/* and reset the flag */
- if (node != NULL)
- node->setReferenceTarget(OFFalse);
+ cursor.getNode()->setReferenceTarget(OFFalse);
} while (cursor.iterate());
}
}
}
-OFCondition DSRDocumentSubTree::checkSubTreeConstraints(DSRDocumentSubTree *tree,
- DSRIODConstraintChecker *checker)
+OFCondition DSRDocumentSubTree::checkSubTreeConstraints(const DSRDocumentSubTree *tree,
+ const DSRIODConstraintChecker *checker) const
{
OFCondition result = EC_Normal;
/* make sure that the passed tree pointer is valid */
check = checker->checkContentRelationship(parent->getValueType(),
node->getRelationshipType(), targetValueType,
OFTrue /*byReference*/);
+ }
+ /* is it an included template? */
+ else if (node->getValueType() == VT_includedTemplate)
+ {
+ // tbd: need to implement a proper check for this case
+ DCMSR_TRACE("DSRDocumentSubTree::checkSubTreeConstraints() Need to check subtree of included template "
+ << "at node id:" << node->getNodeID() << " ... not yet implemented");
} else {
/* check whether the relationship with parent is allowed */
check = checker->checkContentRelationship(parent->getValueType(),
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
+OFCondition DSRDocumentTreeNode::printExtended(STD_NAMESPACE ostream &stream,
+ const size_t flags) const
+{
+ /* print observation date/time (optional) */
+ if (!ObservationDateTime.empty())
+ {
+ OFString tmpString;
+ DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER)
+ stream << " {" << dicomToReadableDateTime(ObservationDateTime, tmpString) << "}";
+ }
+ /* print annotation (optional) */
+ if (hasAnnotation() && (flags & PF_printAnnotation))
+ {
+ DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_ANNOTATION)
+ stream << " \"" << getAnnotation().getText() << "\"";
+ }
+ /* print template identification (conditional) */
+ if (hasTemplateIdentification() && (flags & PF_printTemplateIdentification))
+ {
+ DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER)
+ stream << " # ";
+ DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_TEMPLATE_ID)
+ stream << "TID " << TemplateIdentifier;
+ stream << " (" << MappingResource;
+ if (!MappingResourceUID.empty())
+ stream << ", " << MappingResourceUID;
+ stream << ")";
+ }
+ return EC_Normal;
+}
+
+
OFCondition DSRDocumentTreeNode::read(DcmItem &dataset,
const DSRIODConstraintChecker *constraintChecker,
const size_t flags)
/* write optional template identification */
if ((flags & XF_writeTemplateIdentification) && !(flags & XF_templateElementEnclosesItems))
{
- if (!TemplateIdentifier.empty() && !MappingResource.empty())
+ if (hasTemplateIdentification())
{
if (flags & XF_templateIdentifierAsAttribute)
{
DSRDocumentTreeNodeCursor cursor(getDown());
if (cursor.isValid())
{
- const DSRDocumentTreeNode *node = NULL;
/* for all child nodes */
do {
- node = cursor.getNode();
- if (node != NULL)
- result = node->writeXML(stream, flags);
- else
- result = SR_EC_InvalidDocumentTree;
+ result = cursor.getNode()->writeXML(stream, flags);
} while (result.good() && cursor.gotoNext());
}
return result;
/* write optional template identification */
if ((flags & XF_writeTemplateIdentification) && (flags & XF_templateElementEnclosesItems))
{
- if (!TemplateIdentifier.empty() && !MappingResource.empty())
+ if (hasTemplateIdentification())
{
stream << "<template resource=\"" << MappingResource << "\"";
if (!MappingResourceUID.empty())
/* close optional template identification */
if ((flags & XF_writeTemplateIdentification) && (flags & XF_templateElementEnclosesItems))
{
- if (!TemplateIdentifier.empty() && !MappingResource.empty())
+ if (hasTemplateIdentification())
stream << "</template>" << OFendl;
}
}
}
+OFBool DSRDocumentTreeNode::compareTemplateIdentification(const OFString &templateIdentifier,
+ const OFString &mappingResource,
+ const OFString &mappingResourceUID) const
+{
+ OFBool result = (TemplateIdentifier == templateIdentifier) && (MappingResource == mappingResource);
+ /* mapping resource UID is optional, so only check it if present */
+ if (result && !MappingResourceUID.empty() && !mappingResourceUID.empty())
+ result = (MappingResourceUID == mappingResourceUID);
+ return result;
+}
+
+
OFCondition DSRDocumentTreeNode::getTemplateIdentification(OFString &templateIdentifier,
OFString &mappingResource) const
{
}
if (result.good())
{
- if ((ValueType != VT_Container) && !templateIdentifier.empty())
+ if ((ValueType != VT_Container) && (ValueType != VT_includedTemplate) && !templateIdentifier.empty())
DCMSR_WARN("Template identification should only be specified for CONTAINER content items");
/* set current values, might be empty */
TemplateIdentifier = templateIdentifier;
OFCondition DSRDocumentTreeNode::writeContentItem(DcmItem & /*dataset*/) const
{
- /* no content to insert */
+ /* no content to write */
return EC_Normal;
}
/* read ObservationUID (optional) */
getAndCheckStringValueFromDataset(dataset, DCM_ObservationUID, ObservationUID, "1", "3");
/* determine template identifier expected for this document */
- const OFString expectedTemplateIdentifier = (constraintChecker != NULL) ? OFSTRING_GUARD(constraintChecker->getRootTemplateIdentifier()) : "";
+ OFString expectedTemplateIdentifier;
+ OFString expectedMappingResource;
+ if (constraintChecker != NULL)
+ constraintChecker->getRootTemplateIdentification(expectedTemplateIdentifier, expectedMappingResource);
/* read ContentTemplateSequence (conditional) */
DcmItem *ditem = NULL;
if (dataset.findAndGetSequenceItem(DCM_ContentTemplateSequence, ditem, 0 /*itemNum*/).good())
{
if (ValueType != VT_Container)
- DCMSR_WARN("Found ContentTemplateSequence for content item that is not a CONTAINER");
+ DCMSR_WARN("Found Content Template Sequence for content item \"" << posString << "\" which is not a CONTAINER");
getAndCheckStringValueFromDataset(*ditem, DCM_MappingResource, MappingResource, "1", "1", "ContentTemplateSequence");
getAndCheckStringValueFromDataset(*ditem, DCM_MappingResourceUID, MappingResourceUID, "1", "3", "ContentTemplateSequence");
getAndCheckStringValueFromDataset(*ditem, DCM_TemplateIdentifier, TemplateIdentifier, "1", "1", "ContentTemplateSequence");
/* check whether the correct Mapping Resource UID is used (if present) */
if (!MappingResourceUID.empty() && (MappingResourceUID != UID_DICOMContentMappingResource))
{
- DCMSR_WARN("Incorrect value for MappingResourceUID (" << MappingResourceUID << "), "
+ DCMSR_WARN("Incorrect value for Mapping Resource UID (" << MappingResourceUID << "), "
<< UID_DICOMContentMappingResource << " expected");
}
/* check for a common error: Template Identifier includes "TID" prefix */
{
if ((TemplateIdentifier.find_first_not_of("0123456789") != OFString_npos) || (TemplateIdentifier.at(0) == '0'))
{
- DCMSR_DEBUG("Reading invalid TemplateIdentifier (" << TemplateIdentifier << ")");
- DCMSR_WARN("TemplateIdentifier shall be a string of digits without leading zeros");
+ DCMSR_DEBUG("Reading invalid Template Identifier (" << TemplateIdentifier << ")");
+ DCMSR_WARN("Template Identifier shall be a string of digits without leading zeros");
}
}
}
/* check whether the expected template (if known) has been used */
if (!expectedTemplateIdentifier.empty())
{
- /* check for DICOM Content Mapping Resource */
- if (MappingResource == "DCMR")
+ /* compare with expected mapping resource */
+ if (MappingResource != expectedMappingResource)
{
- /* compare with expected TID */
- if (TemplateIdentifier != expectedTemplateIdentifier)
- {
- DCMSR_WARN("Incorrect value for TemplateIdentifier ("
- << ((TemplateIdentifier.empty()) ? "<empty>" : TemplateIdentifier) << "), "
- << expectedTemplateIdentifier << " expected");
- }
- } else if (!MappingResource.empty())
- printUnknownValueWarningMessage("MappingResource", MappingResource.c_str());
+ DCMSR_WARN("Incorrect value for Mapping Resource ("
+ << ((MappingResource.empty()) ? "<empty>" : MappingResource) << "), "
+ << expectedMappingResource << " expected");
+ }
+ /* compare with expected template identifier */
+ if (TemplateIdentifier != expectedTemplateIdentifier)
+ {
+ DCMSR_WARN("Incorrect value for Template Identifier ("
+ << ((TemplateIdentifier.empty()) ? "<empty>" : TemplateIdentifier) << "), "
+ << expectedTemplateIdentifier << " expected");
+ }
}
}
/* only check template identifier on dataset level (root node) */
else if ((dataset.ident() == EVR_dataset) && !expectedTemplateIdentifier.empty())
{
- DCMSR_WARN("ContentTemplateSequence missing or empty, TemplateIdentifier "
- << expectedTemplateIdentifier
- /* DICOM Content Mapping Resource is currently hard-coded (see above) */
- << " (DCMR) expected");
+ DCMSR_WARN("Content Template Sequence missing or empty, Template Identifier "
+ << expectedTemplateIdentifier << " (" << expectedMappingResource << ") expected");
}
/* read ContentSequence */
if (result.good())
addElementToDataset(result, dataset, new DcmSequenceOfItems(DigitalSignatures), "1-n", "3", "SOPCommonModule");
DCMSR_WARN("Writing possibly incorrect digital signature - same as read from dataset");
}
- /* add to mark stack */
+ /* add to marked items stack */
if (MarkFlag && (markedItems != NULL))
markedItems->push(&dataset);
/* write ObservationDateTime (conditional) */
/* write ContentTemplateSequence (conditional) */
if (result.good())
{
- if (!TemplateIdentifier.empty() && !MappingResource.empty())
+ if (hasTemplateIdentification())
{
DcmItem *ditem = NULL;
/* create sequence with a single item */
if (result.good())
{
if (ValueType != VT_Container)
- DCMSR_WARN("Writing ContentTemplateSequence for content item that is not a CONTAINER");
+ DCMSR_WARN("Writing Content Template Sequence for content item that is not a CONTAINER");
/* write item data */
putStringValueToDataset(*ditem, DCM_MappingResource, MappingResource);
putStringValueToDataset(*ditem, DCM_MappingResourceUID, MappingResourceUID, OFFalse /*allowEmpty*/);
/* increment the counter (needed for generating the location string) */
i++;
}
- /* skipping complete sub-tree if flag is set */
+ /* skipping complete subtree if flag is set */
if (result.bad() && (flags & RF_skipInvalidContentItems))
{
printInvalidContentItemMessage("Skipping", node);
/* for all child nodes */
do {
node = cursor.getNode();
- if (node != NULL)
+ ditem = new DcmItem();
+ if (ditem != NULL)
{
- ditem = new DcmItem();
- if (ditem != NULL)
+ /* write RelationshipType */
+ result = putStringValueToDataset(*ditem, DCM_RelationshipType, relationshipTypeToDefinedTerm(node->getRelationshipType()));
+ /* check for by-reference relationship */
+ if (node->getValueType() == VT_byReference)
{
- /* write RelationshipType */
- result = putStringValueToDataset(*ditem, DCM_RelationshipType, relationshipTypeToDefinedTerm(node->getRelationshipType()));
- /* check for by-reference relationship */
- if (node->getValueType() == VT_byReference)
- {
- /* write ReferencedContentItemIdentifier */
- if (result.good())
- result = node->writeContentItem(*ditem);
- } else { // by-value
- /* write RelationshipMacro */
- if (result.good())
- result = node->writeDocumentRelationshipMacro(*ditem, markedItems);
- /* write DocumentContentMacro */
- if (result.good())
- node->writeDocumentContentMacro(*ditem);
- }
- /* check for any errors */
- if (result.bad())
- printContentItemErrorMessage("Writing", result, node);
- /* insert item into sequence */
+ /* write ReferencedContentItemIdentifier */
if (result.good())
- dseq->insert(ditem);
- else
- delete ditem;
- } else
- result = EC_MemoryExhausted;
+ result = node->writeContentItem(*ditem);
+ } else { // by-value
+ /* write RelationshipMacro */
+ if (result.good())
+ result = node->writeDocumentRelationshipMacro(*ditem, markedItems);
+ /* write DocumentContentMacro */
+ if (result.good())
+ node->writeDocumentContentMacro(*ditem);
+ }
+ /* check for any errors */
+ if (result.bad())
+ printContentItemErrorMessage("Writing", result, node);
+ /* insert item into sequence */
+ if (result.good())
+ dseq->insert(ditem);
+ else
+ delete ditem;
} else
- result = SR_EC_InvalidDocumentTree;
+ result = EC_MemoryExhausted;
} while (result.good() && cursor.gotoNext());
if (result.good())
result = dataset.insert(dseq, OFTrue /*replaceOld*/);
/* for all child nodes */
do {
node = cursor.getNode();
- if (node != NULL)
+ /* set/reset flag for footnote creation*/
+ newFlags &= ~HF_createFootnoteReferences;
+ if (!(flags & HF_renderItemsSeparately) && node->hasChildNodes() && (node->getValueType() != VT_Container))
+ newFlags |= HF_createFootnoteReferences;
+ /* render (optional) reference to annex */
+ OFString relationshipText;
+ if (!getRelationshipText(node->getRelationshipType(), relationshipText, flags).empty())
{
- /* set/reset flag for footnote creation*/
- newFlags &= ~HF_createFootnoteReferences;
- if (!(flags & HF_renderItemsSeparately) && node->hasChildNodes() && (node->getValueType() != VT_Container))
- newFlags |= HF_createFootnoteReferences;
- /* render (optional) reference to annex */
- OFString relationshipText;
- if (!getRelationshipText(node->getRelationshipType(), relationshipText, flags).empty())
+ if (paragraphFlag)
{
- if (paragraphFlag)
+ /* inside paragraph: line break */
+ if (flags & HF_XHTML11Compatibility)
+ docStream << "<br />" << OFendl;
+ else
+ docStream << "<br>" << OFendl;
+ } else {
+ /* open paragraph */
+ if (flags & HF_XHTML11Compatibility)
{
- /* inside paragraph: line break */
- if (flags & HF_XHTML11Compatibility)
- docStream << "<br />" << OFendl;
- else
- docStream << "<br>" << OFendl;
+ docStream << "<div class=\"small\">" << OFendl;
+ docStream << "<p>" << OFendl;
} else {
- /* open paragraph */
- if (flags & HF_XHTML11Compatibility)
- {
- docStream << "<div class=\"small\">" << OFendl;
- docStream << "<p>" << OFendl;
- } else {
- docStream << "<p>" << OFendl;
- docStream << "<small>" << OFendl;
- }
- paragraphFlag = OFTrue;
+ docStream << "<p>" << OFendl;
+ docStream << "<small>" << OFendl;
}
- if (newFlags & HF_XHTML11Compatibility)
- docStream << "<span class=\"relation\">" << relationshipText << "</span>: ";
- else if (flags & DSRTypes::HF_HTML32Compatibility)
- docStream << "<u>" << relationshipText << "</u>: ";
- else /* HTML 4.01 */
- docStream << "<span class=\"under\">" << relationshipText << "</span>: ";
- /* expand short nodes with no children inline (or depending on 'flags' all nodes) */
- if ((flags & HF_alwaysExpandChildrenInline) ||
- (!(flags & HF_neverExpandChildrenInline) && !node->hasChildNodes() && node->isShort(flags)))
+ paragraphFlag = OFTrue;
+ }
+ if (newFlags & HF_XHTML11Compatibility)
+ docStream << "<span class=\"relation\">" << relationshipText << "</span>: ";
+ else if (flags & DSRTypes::HF_HTML32Compatibility)
+ docStream << "<u>" << relationshipText << "</u>: ";
+ else /* HTML 4.01 */
+ docStream << "<span class=\"under\">" << relationshipText << "</span>: ";
+ /* expand short nodes with no children inline (or depending on 'flags' all nodes) */
+ if ((flags & HF_alwaysExpandChildrenInline) ||
+ (!(flags & HF_neverExpandChildrenInline) && !node->hasChildNodes() && node->isShort(flags)))
+ {
+ if (node->getValueType() != VT_byReference)
{
- if (node->getValueType() != VT_byReference)
- {
- /* render concept name/code or value type */
- if (node->getConceptName().getCodeMeaning().empty())
- docStream << valueTypeToReadableName(node->getValueType());
- else
- node->getConceptName().renderHTML(docStream, flags, (flags & HF_renderConceptNameCodes) && ConceptName.isValid() /*fullCode*/);
- docStream << " = ";
- }
- /* render HTML code (directly to the reference text) */
- result = node->renderHTML(docStream, annexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_renderItemInline);
- } else {
- /* render concept name or value type */
+ /* render concept name/code or value type */
if (node->getConceptName().getCodeMeaning().empty())
- docStream << valueTypeToReadableName(node->getValueType()) << " ";
- else
- docStream << node->getConceptName().getCodeMeaning() << " ";
- /* render annex heading and reference */
- createHTMLAnnexEntry(docStream, annexStream, "" /*referenceText*/, annexNumber, newFlags);
- if (flags & HF_XHTML11Compatibility)
- annexStream << "<div class=\"para\">" << OFendl;
+ docStream << valueTypeToReadableName(node->getValueType());
else
- annexStream << "<div>" << OFendl;
- /* create memory output stream for the temporal annex */
- OFOStringStream tempAnnexStream;
- /* render HTML code (directly to the annex) */
- result = node->renderHTML(annexStream, tempAnnexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_currentlyInsideAnnex);
- annexStream << "</div>" << OFendl;
- /* use empty paragraph for bottom margin */
- if (!(flags & HF_XHTML11Compatibility))
- annexStream << "<p>" << OFendl;
- /* append temporary stream to main stream */
- if (result.good())
- result = appendStream(annexStream, tempAnnexStream);
+ node->getConceptName().renderHTML(docStream, flags, (flags & HF_renderConceptNameCodes) && ConceptName.isValid() /*fullCode*/);
+ docStream << " = ";
}
+ /* render HTML code (directly to the reference text) */
+ result = node->renderHTML(docStream, annexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_renderItemInline);
} else {
- /* close paragraph */
- if (paragraphFlag)
+ /* render concept name or value type */
+ if (node->getConceptName().getCodeMeaning().empty())
+ docStream << valueTypeToReadableName(node->getValueType()) << " ";
+ else
+ docStream << node->getConceptName().getCodeMeaning() << " ";
+ /* render annex heading and reference */
+ createHTMLAnnexEntry(docStream, annexStream, "" /*referenceText*/, annexNumber, newFlags);
+ if (flags & HF_XHTML11Compatibility)
+ annexStream << "<div class=\"para\">" << OFendl;
+ else
+ annexStream << "<div>" << OFendl;
+ /* create memory output stream for the temporal annex */
+ OFOStringStream tempAnnexStream;
+ /* render HTML code (directly to the annex) */
+ result = node->renderHTML(annexStream, tempAnnexStream, 0 /*nesting level*/, annexNumber, newFlags | HF_currentlyInsideAnnex);
+ annexStream << "</div>" << OFendl;
+ /* use empty paragraph for bottom margin */
+ if (!(flags & HF_XHTML11Compatibility))
+ annexStream << "<p>" << OFendl;
+ /* append temporary stream to main stream */
+ if (result.good())
+ result = appendStream(annexStream, tempAnnexStream);
+ }
+ } else {
+ /* close paragraph */
+ if (paragraphFlag)
+ {
+ if (flags & HF_XHTML11Compatibility)
{
- if (flags & HF_XHTML11Compatibility)
- {
- docStream << "</p>" << OFendl;
- docStream << "</div>" << OFendl;
- } else {
- docStream << "</small>" << OFendl;
- docStream << "</p>" << OFendl;
- }
- paragraphFlag = OFFalse;
+ docStream << "</p>" << OFendl;
+ docStream << "</div>" << OFendl;
+ } else {
+ docStream << "</small>" << OFendl;
+ docStream << "</p>" << OFendl;
}
- /* begin new paragraph */
- if (flags & HF_renderItemsSeparately)
+ paragraphFlag = OFFalse;
+ }
+ /* begin new paragraph */
+ if (flags & HF_renderItemsSeparately)
+ {
+ if (flags & HF_XHTML11Compatibility)
+ docStream << "<div class=\"para\">" << OFendl;
+ else
+ docStream << "<div>" << OFendl;
+ }
+ /* write footnote text to temporary stream */
+ if (newFlags & HF_createFootnoteReferences)
+ {
+ /* render HTML code (without child nodes) */
+ result = node->renderHTMLContentItem(docStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags);
+ /* create footnote numbers (individually for each child?) */
+ if (result.good())
{
+ /* tags are closed automatically in 'node->renderHTMLChildNodes()' */
if (flags & HF_XHTML11Compatibility)
- docStream << "<div class=\"para\">" << OFendl;
- else
- docStream << "<div>" << OFendl;
- }
- /* write footnote text to temporary stream */
- if (newFlags & HF_createFootnoteReferences)
- {
- /* render HTML code (without child nodes) */
- result = node->renderHTMLContentItem(docStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags);
- /* create footnote numbers (individually for each child?) */
- if (result.good())
{
- /* tags are closed automatically in 'node->renderHTMLChildNodes()' */
- if (flags & HF_XHTML11Compatibility)
- {
- tempDocStream << "<div class=\"small\">" << OFendl;
- tempDocStream << "<p>" << OFendl;
- } else {
- tempDocStream << "<p>" << OFendl;
- tempDocStream << "<small>" << OFendl;
- }
- /* render footnote text and reference */
- createHTMLFootnote(docStream, tempDocStream, footnoteNumber, node->getNodeID(), flags);
- /* render child nodes to temporary stream */
- result = node->renderHTMLChildNodes(tempDocStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags);
+ tempDocStream << "<div class=\"small\">" << OFendl;
+ tempDocStream << "<p>" << OFendl;
+ } else {
+ tempDocStream << "<p>" << OFendl;
+ tempDocStream << "<small>" << OFendl;
}
- } else {
- /* render HTML code (incl. child nodes)*/
- result = node->renderHTML(docStream, annexStream, nestingLevel + 1, annexNumber, newFlags);
- }
- /* end paragraph */
- if (flags & HF_renderItemsSeparately)
- {
- docStream << "</div>" << OFendl;
- /* use empty paragraph for bottom margin */
- if (!(flags & HF_XHTML11Compatibility))
- docStream << "<p>" << OFendl;
+ /* render footnote text and reference */
+ createHTMLFootnote(docStream, tempDocStream, footnoteNumber, node->getNodeID(), flags);
+ /* render child nodes to temporary stream */
+ result = node->renderHTMLChildNodes(tempDocStream, annexStream, 0 /*nestingLevel*/, annexNumber, newFlags);
}
+ } else {
+ /* render HTML code (incl. child nodes)*/
+ result = node->renderHTML(docStream, annexStream, nestingLevel + 1, annexNumber, newFlags);
}
- } else
- result = SR_EC_InvalidDocumentTree;
+ /* end paragraph */
+ if (flags & HF_renderItemsSeparately)
+ {
+ docStream << "</div>" << OFendl;
+ /* use empty paragraph for bottom margin */
+ if (!(flags & HF_XHTML11Compatibility))
+ docStream << "<p>" << OFendl;
+ }
+ }
} while (result.good() && cursor.gotoNext());
/* close last open paragraph (if any) */
if (paragraphFlag)
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
+OFCondition DSRDocumentTree::print(STD_NAMESPACE ostream &stream,
+ const size_t flags)
+{
+ /* call the inherited method (hide additional parameters) */
+ return DSRDocumentSubTree::print(stream, flags);
+}
+
+
OFCondition DSRDocumentTree::read(DcmItem &dataset,
const E_DocumentType documentType,
const size_t flags)
}
+OFCondition DSRDocumentTree::write(DcmItem &dataset,
+ DcmStack *markedItems)
+{
+ OFCondition result = SR_EC_InvalidDocumentTree;
+ /* check whether document tree is valid */
+ if (isValid())
+ {
+ /* check whether document tree contains any included templates */
+ if (isExpandedDocumentTree())
+ {
+ DSRDocumentTreeNode *node = getRoot();
+ if (node != NULL)
+ {
+ /* check and update by-reference relationships (if applicable) */
+ checkByReferenceRelationships(CM_updatePositionString);
+ /* update the document tree for output (if needed) */
+ updateTreeForOutput();
+ /* start writing from root node */
+ result = node->write(dataset, markedItems);
+ }
+ } else {
+ /* tbd: cannot write document with included templates */
+ result = SR_EC_CannotProcessIncludedTemplates;
+ }
+ }
+ return result;
+}
+
+
OFCondition DSRDocumentTree::readXML(const DSRXMLDocument &doc,
DSRXMLCursor cursor,
const size_t flags)
}
-OFCondition DSRDocumentTree::write(DcmItem &dataset,
- DcmStack *markedItems)
-{
- OFCondition result = SR_EC_InvalidDocumentTree;
- /* check whether root node has correct relationship and value type */
- if (isValid())
- {
- DSRDocumentTreeNode *node = getRoot();
- if (node != NULL)
- {
- /* check and update by-reference relationships (if applicable) */
- checkByReferenceRelationships(CM_updatePositionString);
- /* update the document tree for output (if needed) */
- updateTreeForOutput();
- /* start writing from root node */
- result = node->write(dataset, markedItems);
- }
- }
- return result;
-}
-
-
-OFCondition DSRDocumentTree::writeXML(STD_NAMESPACE ostream &stream,
- const size_t flags)
-{
- OFCondition result = SR_EC_InvalidDocumentTree;
- /* check whether root node has correct relationship and value type */
- if (isValid())
- {
- DSRDocumentTreeNode *node = getRoot();
- /* start writing from root node */
- if (node != NULL)
- {
- /* check by-reference relationships (if applicable) */
- checkByReferenceRelationships(CM_resetReferenceTargetFlag);
- /* update the document tree for output (if needed) */
- updateTreeForOutput();
- /* start writing from root node */
- result = node->writeXML(stream, flags);
- }
- }
- return result;
-}
-
-
OFCondition DSRDocumentTree::renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream &annexStream,
const size_t flags)
{
OFCondition result = SR_EC_InvalidDocumentTree;
- /* check whether root node has correct relationship and value type */
+ /* check whether document tree is valid */
if (isValid())
{
- DSRDocumentTreeNode *node = getRoot();
- /* start rendering from root node */
- if (node != NULL)
+ /* check whether document tree contains any included templates */
+ if (isExpandedDocumentTree())
{
- /* check by-reference relationships (if applicable) */
- checkByReferenceRelationships(CM_resetReferenceTargetFlag);
- /* update the document tree for output (if needed) */
- updateTreeForOutput();
- size_t annexNumber = 1;
- /* start rendering from root node */
- result = node->renderHTML(docStream, annexStream, 1 /*nestingLevel*/, annexNumber, flags & ~HF_internalUseOnly);
+ DSRDocumentTreeNode *node = getRoot();
+ if (node != NULL)
+ {
+ size_t annexNumber = 1;
+ /* check by-reference relationships (if applicable) */
+ checkByReferenceRelationships(CM_resetReferenceTargetFlag);
+ /* update the document tree for output (if needed) */
+ updateTreeForOutput();
+ /* start rendering from root node */
+ result = node->renderHTML(docStream, annexStream, 1 /*nestingLevel*/, annexNumber, flags & ~HF_internalUseOnly);
+ }
+ } else {
+ /* tbd: cannot render document with included templates */
+ result = SR_EC_CannotProcessIncludedTemplates;
}
}
return result;
OFBool DSRDocumentTree::canAddContentItem(const E_RelationshipType relationshipType,
const E_ValueType valueType,
- const E_AddMode addMode)
+ const E_AddMode addMode) const
{
OFBool result = OFFalse;
if (isEmpty())
}
-OFBool DSRDocumentTree::canInsertSubTree(DSRDocumentSubTree *tree,
+OFBool DSRDocumentTree::canInsertSubTree(const DSRDocumentSubTree *tree,
const E_AddMode addMode,
- const E_RelationshipType defaultRelType)
+ const E_RelationshipType defaultRelType) const
{
OFBool result = OFFalse;
if (isEmpty())
/* check whether the current document tree is valid, i.e. the root node is a container */
if (isValid())
{
- /* determine template identifier (TID) expected for the new document type */
- const OFString expectedTemplateIdentifier = OFSTRING_GUARD(checker->getRootTemplateIdentifier());
+ /* determine template identifier (TID) and mapping resource expected for the new document type */
+ OFString expectedTemplateIdentifier;
+ OFString expectedMappingResource;
+ checker->getRootTemplateIdentification(expectedTemplateIdentifier, expectedMappingResource);
/* check whether the expected template (if known) has been used */
if (!expectedTemplateIdentifier.empty())
{
/* check whether the correct Mapping Resource UID is used (if present) */
if (!mappingResourceUID.empty() && (mappingResourceUID != UID_DICOMContentMappingResource))
{
- DCMSR_WARN("Incorrect value for MappingResourceUID (" << mappingResourceUID << "), "
+ DCMSR_WARN("Incorrect value for Mapping Resource UID (" << mappingResourceUID << "), "
<< UID_DICOMContentMappingResource << " expected");
}
- /* compare with expected TID */
- if (templateIdentifier != expectedTemplateIdentifier)
- {
- DCMSR_WARN("Incorrect value for TemplateIdentifier ("
- << ((templateIdentifier.empty()) ? "<empty>" : templateIdentifier) << "), "
- << expectedTemplateIdentifier << " expected");
- }
+ }
+ /* compare with expected mapping resource */
+ if (mappingResource != expectedMappingResource)
+ {
+ DCMSR_WARN("Incorrect value for Mapping Resource ("
+ << ((mappingResource.empty()) ? "<empty>" : mappingResource) << "), "
+ << expectedMappingResource << " expected");
+ }
+ /* compare with expected template identifier */
+ if (templateIdentifier != expectedTemplateIdentifier)
+ {
+ DCMSR_WARN("Incorrect value for Template Identifier ("
+ << ((templateIdentifier.empty()) ? "<empty>" : templateIdentifier) << "), "
+ << expectedTemplateIdentifier << " expected");
}
}
}
DSRDocumentTreeNodeCursor cursor(getRoot());
if (cursor.isValid())
{
- DSRDocumentTreeNode *node = NULL;
/* iterate over all nodes */
do {
- node = cursor.getNode();
- if (node != NULL)
- node->setMark(OFFalse);
+ cursor.getNode()->setMark(OFFalse);
} while (cursor.iterate());
}
}
DSRDocumentTreeNodeCursor cursor(getRoot());
if (cursor.isValid())
{
- DSRDocumentTreeNode *node = NULL;
/* iterate over all nodes */
do {
- node = cursor.getNode();
- if (node != NULL)
- node->removeSignatures();
+ cursor.getNode()->removeSignatures();
} while (cursor.iterate());
}
}
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSREnhancedSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSREnhancedSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return NULL;
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
}
(targetValueType == VT_Waveform) || (targetValueType == VT_Composite) || (targetValueType == VT_SCoord) ||
(targetValueType == VT_TCoord);
}
- /* row 6 of the table - introduced with CP 1076 */
+ /* row 6 of the table - introduced with CP-1076 */
else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName))
{
result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) ||
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const Sint32 DSRListOfItems<Sint32>::EmptyItem = 0;
+DCMTK_EXPLICIT_SPECIALIZATION
+const Sint32 DSRListOfItems<Sint32>::EmptyItem = 0;
DSRImageFrameList::DSRImageFrameList()
/*
*
- * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const Uint16 DSRListOfItems<Uint16>::EmptyItem = 0;
+DCMTK_EXPLICIT_SPECIALIZATION
+const Uint16 DSRListOfItems<Uint16>::EmptyItem = 0;
DSRImageSegmentList::DSRImageSegmentList()
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
+OFBool DSRImageReferenceValue::isSegmentation() const
+{
+ return isSegmentationObject(SOPClassUID);
+}
+
+
OFCondition DSRImageReferenceValue::print(STD_NAMESPACE ostream &stream,
const size_t flags) const
{
}
}
/* check data and report warnings if any */
- checkListData(FrameList, SegmentList, OFTrue /*reportWarnings*/);
+ checkListData(SOPClassUID, FrameList, SegmentList, OFTrue /*reportWarnings*/);
}
return result;
}
}
}
/* check data and report warnings if any */
- checkListData(FrameList, SegmentList, OFTrue /*reportWarnings*/);
+ checkListData(SOPClassUID, FrameList, SegmentList, OFTrue /*reportWarnings*/);
return result;
}
}
+OFBool DSRImageReferenceValue::isSegmentationObject(const OFString &sopClassUID) const
+{
+ /* check for all segmentation SOP classes (according to DICOM PS 3.6-2015c) */
+ return (sopClassUID == UID_SegmentationStorage) || (sopClassUID == UID_SurfaceSegmentationStorage);
+}
+
+
OFCondition DSRImageReferenceValue::checkSOPClassUID(const OFString &sopClassUID) const
{
OFCondition result = DSRCompositeReferenceValue::checkSOPClassUID(sopClassUID);
if (result.good())
{
- /* check for all valid/known SOP classes (according to DICOM PS 3.6-2014a) */
- if (!dcmIsImageStorageSOPClassUID(sopClassUID.c_str()) &&
- (sopClassUID != UID_SegmentationStorage))
+ /* check for all valid/known SOP classes (according to DICOM PS 3.6-2015c) */
+ if (!dcmIsImageStorageSOPClassUID(sopClassUID.c_str()) && !isSegmentationObject(sopClassUID))
{
result = SR_EC_InvalidValue;
}
// helper macro to avoid annoying check of boolean flag
#define REPORT_WARNING(msg) { if (reportWarnings) DCMSR_WARN(msg); }
-OFCondition DSRImageReferenceValue::checkListData(const DSRImageFrameList &frameList,
+OFCondition DSRImageReferenceValue::checkListData(const OFString &sopClassUID,
+ const DSRImageFrameList &frameList,
const DSRImageSegmentList &segmentList,
const OFBool reportWarnings) const
{
OFCondition result = EC_Normal;
+ /* check whether both lists of referenced frame and segment numbers are non-empty */
if (!frameList.isEmpty() && !segmentList.isEmpty())
{
/* this is just a warning since only one list will ever be written */
- REPORT_WARNING("Both ReferencedFrameNumber and ReferencedSegmentNumber present in IMAGE content item")
+ REPORT_WARNING("Both Referenced Frame Number and Referenced Segment Number present in IMAGE content item")
+ }
+ /* check whether referenced image is a segmentation object (see "type 1C" condition) */
+ if (!segmentList.isEmpty() && !isSegmentationObject(sopClassUID))
+ {
+ REPORT_WARNING("Referenced Segment Number present in IMAGE content item for non-segmentation object")
+ result = SR_EC_InvalidValue;
}
- /* tbd: check whether referenced image is a segmentation object? (see "type 1C" condition) */
+ /* tbd: check whether referenced image is a multi-frame image? (see "type 1C" condition) */
return result;
}
if (result.good())
result = checkRealWorldValueMapping(RealWorldValueMapping);
if (result.good())
- result = checkListData(FrameList, SegmentList);
+ result = checkListData(SOPClassUID, FrameList, SegmentList);
return result;
}
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRImplantationPlanSRDocumentConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRImplantationPlanSRDocumentConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "7000";
+ templateIdentifier = "7000";
+ mappingResource = "DCMR";
+ return EC_Normal;
}
const E_ValueType targetValueType,
const OFBool byReference) const
{
- /* the following code implements the constraints of table A.35.Y-2 in DICOM PS3.3 (Supplement 134) */
+ /* the following code implements the constraints of table A.35.12-2 in DICOM PS3.3 */
OFBool result = OFFalse;
/* by-reference relationships not allowed at all */
if (!byReference)
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRKeyObjectSelectionDocumentConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRKeyObjectSelectionDocumentConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "2010";
+ templateIdentifier = "2010";
+ mappingResource = "DCMR";
+ return EC_Normal;
}
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRMacularGridThicknessAndVolumeReportConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRMacularGridThicknessAndVolumeReportConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "2100";
+ templateIdentifier = "2100";
+ mappingResource = "DCMR";
+ return EC_Normal;
}
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRMammographyCadSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRMammographyCadSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "4000";
+ templateIdentifier = "4000";
+ mappingResource = "DCMR";
+ return EC_Normal;
}
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
+DSRNumericMeasurementValue::DSRNumericMeasurementValue(const DSRCodedEntryValue &valueQualifier,
+ const OFBool check)
+ : NumericValue(),
+ MeasurementUnit(),
+ ValueQualifier(),
+ FloatingPointValue(DCM_FloatingPointValue),
+ RationalNumeratorValue(DCM_RationalNumeratorValue),
+ RationalDenominatorValue(DCM_RationalDenominatorValue)
+{
+ /* use the set method for checking purposes */
+ setValue(valueQualifier, check);
+}
+
+
DSRNumericMeasurementValue::DSRNumericMeasurementValue(const OFString &numericValue,
const DSRCodedEntryValue &measurementUnit,
const DSRCodedEntryValue &valueQualifier,
OFBool DSRNumericMeasurementValue::isEmpty() const
{
+ /* the NumericValueQualifierCodeSequence is not checked */
return NumericValue.empty() && MeasurementUnit.isEmpty();
}
+OFBool DSRNumericMeasurementValue::isComplete() const
+{
+ /* officially, the NumericValueQualifierCodeSequence is optional (type 3) */
+ return (!NumericValue.empty() && MeasurementUnit.isComplete()) || ValueQualifier.isComplete();
+}
+
+
OFCondition DSRNumericMeasurementValue::print(STD_NAMESPACE ostream &stream,
const size_t flags) const
{
{
/* empty value */
stream << "empty";
+ /* check for optional numeric value qualifier */
+ if (!ValueQualifier.isEmpty())
+ {
+ stream << " ";
+ ValueQualifier.print(stream, OFTrue /*printCodeValue*/, flags);
+ }
} else {
OFString printString;
stream << "\"" << DSRTypes::convertToPrintString(NumericValue, printString) << "\" ";
}
+OFCondition DSRNumericMeasurementValue::setValue(const DSRCodedEntryValue &valueQualifier,
+ const OFBool check)
+{
+ const DSRCodedEntryValue measurementUnit;
+ /* call the function doing the real work */
+ return setValue("" /*numericValue*/, measurementUnit, valueQualifier, check);
+}
+
+
OFCondition DSRNumericMeasurementValue::setValue(const OFString &numericValue,
const DSRCodedEntryValue &measurementUnit,
const DSRCodedEntryValue &valueQualifier,
OFCondition DSRNumericMeasurementValue::checkNumericValue(const OFString &numericValue) const
{
- /* numeric measurement value should never be empty */
+ /* numeric value should never be empty */
return numericValue.empty() ? SR_EC_InvalidValue
: DcmDecimalString::checkStringValue(numericValue, "1");
}
}
return result;
}
+
+
+// output operators
+
+STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream,
+ const DSRNumericMeasurementValue &numericMeasurement)
+{
+ numericMeasurement.print(stream, 0 /*flags*/);
+ return stream;
+}
--- /dev/null
+/*
+ *
+ * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmsr
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose:
+ * classes: DSRPositionCounter
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrposcn.h"
+#include "dcmtk/dcmsr/dsrtypes.h"
+
+
+DSRPositionCounter::DSRPositionCounter()
+ : Position(0),
+ PositionList()
+{
+}
+
+
+DSRPositionCounter::DSRPositionCounter(const DSRPositionCounter &counter)
+ : Position(counter.Position),
+ PositionList(counter.PositionList)
+{
+}
+
+
+DSRPositionCounter::~DSRPositionCounter()
+{
+}
+
+
+DSRPositionCounter &DSRPositionCounter::operator=(const DSRPositionCounter &counter)
+{
+ Position = counter.Position;
+ PositionList = counter.PositionList;
+ return *this;
+}
+
+
+void DSRPositionCounter::clear()
+{
+ /* clear and invalidate position counter */
+ Position = 0;
+ PositionList.clear();
+}
+
+
+void DSRPositionCounter::initialize(const OFBool valid)
+{
+ /* distinguish valid from non-valid position counter */
+ Position = (valid ? 1 : 0);
+ PositionList.clear();
+}
+
+
+OFBool DSRPositionCounter::goUp()
+{
+ const OFBool result = !PositionList.empty();
+ if (result)
+ {
+ /* get back last position on next upper level (if any) */
+ Position = PositionList.back();
+ PositionList.pop_back();
+ }
+ return result;
+}
+
+
+OFBool DSRPositionCounter::goDown()
+{
+ const OFBool result = (Position > 0);
+ if (result)
+ {
+ /* store current position and reset counter for next lower level */
+ PositionList.push_back(Position);
+ Position = 1;
+ }
+ return result;
+}
+
+
+const OFString &DSRPositionCounter::getString(OFString &position,
+ const char separator) const
+{
+ position.clear();
+ if (isValid())
+ {
+ char stringBuf[20];
+ const OFListConstIterator(size_t) endPos = PositionList.end();
+ OFListConstIterator(size_t) iterator = PositionList.begin();
+ /* iterate over all levels and append current position in each case */
+ while (iterator != endPos)
+ {
+ if (!position.empty())
+ position += separator;
+ position += DSRTypes::numberToString(*iterator, stringBuf);
+ iterator++;
+ }
+ /* also append the current position on the current level */
+ if (!position.empty())
+ position += separator;
+ position += DSRTypes::numberToString(Position, stringBuf);
+ }
+ return position;
+}
/*
*
- * Copyright (C) 2003-2014, OFFIS e.V.
+ * Copyright (C) 2003-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFBool DSRProcedureLogConstraintChecker::isTemplateSupportRequired() const
{
- return OFTrue;
+ return OFFalse;
}
-const char *DSRProcedureLogConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRProcedureLogConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "3001";
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
}
}
-const char *DSRRadiopharmaceuticalRadiationDoseConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRRadiopharmaceuticalRadiationDoseConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return NULL;
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
void DSRRootTemplate::clear()
{
+ /* call clear() method of base classes */
DSRDocumentTree::clear();
+ DSRTemplateCommon::clear();
}
/*
*
- * Copyright (C) 2010-2015, OFFIS e.V.
+ * Copyright (C) 2010-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmsr/dsrsc3gr.h"
#include "dcmtk/ofstd/ofstd.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const DSRGraphicData3DItem DSRListOfItems<DSRGraphicData3DItem>::EmptyItem(0, 0, 0);
+DCMTK_EXPLICIT_SPECIALIZATION
+const DSRGraphicData3DItem DSRListOfItems<DSRGraphicData3DItem>::EmptyItem(0, 0, 0);
DSRGraphicData3DList::DSRGraphicData3DList()
/*
*
- * Copyright (C) 2010-2015, OFFIS e.V.
+ * Copyright (C) 2010-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition result = SR_EC_InvalidValue;
// check graphic type and data
if (graphicType == DSRTypes::GT3_invalid)
- REPORT_WARNING("Invalid GraphicType for SCOORD3D content item")
+ REPORT_WARNING("Invalid Graphic Type for SCOORD3D content item")
else if (graphicDataList.isEmpty())
- REPORT_WARNING("No GraphicData for SCOORD3D content item")
+ REPORT_WARNING("No Graphic Data for SCOORD3D content item")
else
{
const size_t count = graphicDataList.getNumberOfItems();
{
case DSRTypes::GT3_Point:
if (count > 1)
- REPORT_WARNING("GraphicData has too many entries, only a single entry expected")
+ REPORT_WARNING("Graphic Data has too many entries, only a single entry expected")
result = EC_Normal;
break;
case DSRTypes::GT3_Multipoint:
if (count < 1)
- REPORT_WARNING("GraphicData has too few entries, at least one entry expected")
+ REPORT_WARNING("Graphic Data has too few entries, at least one entry expected")
result = EC_Normal;
break;
case DSRTypes::GT3_Polyline:
if (count < 1)
- REPORT_WARNING("GraphicData has too few entries, at least one entry expected")
+ REPORT_WARNING("Graphic Data has too few entries, at least one entry expected")
result = EC_Normal;
break;
case DSRTypes::GT3_Polygon:
if (count < 1)
- REPORT_WARNING("GraphicData has too few entries, at least one entry expected")
+ REPORT_WARNING("Graphic Data has too few entries, at least one entry expected")
else
{
if (graphicDataList.getItem(1) != graphicDataList.getItem(count))
- REPORT_WARNING("First and last entry in GraphicData are not equal (POLYGON)")
+ REPORT_WARNING("First and last entry in Graphic Data are not equal (POLYGON)")
result = EC_Normal;
}
break;
case DSRTypes::GT3_Ellipse:
if (count < 4)
- REPORT_WARNING("GraphicData has too few entries, exactly four entries expected")
+ REPORT_WARNING("Graphic Data has too few entries, exactly four entries expected")
else
{
if (count > 4)
- REPORT_WARNING("GraphicData has too many entries, exactly four entries expected")
+ REPORT_WARNING("Graphic Data has too many entries, exactly four entries expected")
result = EC_Normal;
}
break;
case DSRTypes::GT3_Ellipsoid:
if (count < 6)
- REPORT_WARNING("GraphicData has too few entries, exactly six entries expected")
+ REPORT_WARNING("Graphic Data has too few entries, exactly six entries expected")
else
{
if (count > 6)
- REPORT_WARNING("GraphicData has too many entries, exactly six entries expected")
+ REPORT_WARNING("Graphic Data has too many entries, exactly six entries expected")
result = EC_Normal;
}
break;
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmsr/dsrscogr.h"
#include "dcmtk/ofstd/ofstd.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const DSRGraphicDataItem DSRListOfItems<DSRGraphicDataItem>::EmptyItem(0, 0);
+DCMTK_EXPLICIT_SPECIALIZATION
+const DSRGraphicDataItem DSRListOfItems<DSRGraphicDataItem>::EmptyItem(0, 0);
DSRGraphicDataList::DSRGraphicDataList()
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition result = SR_EC_InvalidValue;
// check graphic type and data
if (graphicType == DSRTypes::GT_invalid)
- REPORT_WARNING("Invalid GraphicType for SCOORD content item")
+ REPORT_WARNING("Invalid Graphic Type for SCOORD content item")
else if (graphicDataList.isEmpty())
- REPORT_WARNING("No GraphicData for SCOORD content item")
+ REPORT_WARNING("No Graphic Data for SCOORD content item")
else
{
const size_t count = graphicDataList.getNumberOfItems();
{
case DSRTypes::GT_Point:
if (count > 1)
- REPORT_WARNING("GraphicData has too many entries, only a single entry expected")
+ REPORT_WARNING("Graphic Data has too many entries, only a single entry expected")
result = EC_Normal;
break;
case DSRTypes::GT_Multipoint:
if (count < 1)
- REPORT_WARNING("GraphicData has too few entries, at least one entry expected")
+ REPORT_WARNING("Graphic Data has too few entries, at least one entry expected")
result = EC_Normal;
break;
case DSRTypes::GT_Polyline:
/*
// not required any more according to CP-233
if (graphicDataList.getItem(1) != graphicDataList.getItem(count))
- REPORT_WARNING("First and last entry in GraphicData are not equal (POLYLINE)")
+ REPORT_WARNING("First and last entry in Graphic Data are not equal (POLYLINE)")
*/
result = EC_Normal;
break;
case DSRTypes::GT_Circle:
if (count < 2)
- REPORT_WARNING("GraphicData has too few entries, exactly two entries expected")
+ REPORT_WARNING("Graphic Data has too few entries, exactly two entries expected")
else
{
if (count > 2)
- REPORT_WARNING("GraphicData has too many entries, exactly two entries expected")
+ REPORT_WARNING("Graphic Data has too many entries, exactly two entries expected")
result = EC_Normal;
}
break;
case DSRTypes::GT_Ellipse:
if (count < 4)
- REPORT_WARNING("GraphicData has too few entries, exactly four entries expected")
+ REPORT_WARNING("Graphic Data has too few entries, exactly four entries expected")
else
{
if (count > 4)
- REPORT_WARNING("GraphicData has too many entries, exactly four entries expected")
+ REPORT_WARNING("Graphic Data has too many entries, exactly four entries expected")
result = EC_Normal;
}
break;
}
+const OFString &DSRSOPInstanceReferenceList::getSOPClassName(OFString &stringValue,
+ const OFString &defaultName) const
+{
+ OFString sopClassUID;
+ /* retrieve SOP class UID of current entry */
+ if (!getSOPClassUID(sopClassUID).empty())
+ {
+ /* lookup name associated with the SOP class UID */
+ stringValue = dcmFindNameOfUID(sopClassUID.c_str(), defaultName.c_str());
+ } else
+ stringValue.clear();
+ return stringValue;
+}
+
+
const OFString &DSRSOPInstanceReferenceList::getRetrieveAETitle(OFString &stringValue) const
{
/* check whether current series is valid */
/*
*
- * Copyright (C) 2010-2014, OFFIS e.V.
+ * Copyright (C) 2010-2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRSpectaclePrescriptionReportConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRSpectaclePrescriptionReportConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return "2020";
+ templateIdentifier = "2020";
+ mappingResource = "DCMR";
+ return EC_Normal;
}
void DSRSubTemplate::clear()
{
+ /* call clear() method of base classes */
DSRDocumentSubTree::clear();
+ DSRTemplateCommon::clear();
}
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmsr/dsrtcodt.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const OFString DSRListOfItems<OFString>::EmptyItem;
+DCMTK_EXPLICIT_SPECIALIZATION
+const OFString DSRListOfItems<OFString>::EmptyItem;
DSRReferencedDateTimeList::DSRReferencedDateTimeList()
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const Uint32 DSRListOfItems<Uint32>::EmptyItem = 0;
+DCMTK_EXPLICIT_SPECIALIZATION
+const Uint32 DSRListOfItems<Uint32>::EmptyItem = 0;
DSRReferencedSamplePositionList::DSRReferencedSamplePositionList()
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const Float64 DSRListOfItems<Float64>::EmptyItem = 0;
+DCMTK_EXPLICIT_SPECIALIZATION const Float64 DSRListOfItems<Float64>::EmptyItem = 0;
DSRReferencedTimeOffsetList::DSRReferencedTimeOffsetList()
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
{
OFCondition result = EC_Normal;
if (temporalRangeType == DSRTypes::TRT_invalid)
- REPORT_WARNING("Invalid TemporalRangeType for TCOORD content item")
+ REPORT_WARNING("Invalid Temporal Range Type for TCOORD content item")
const OFBool list1 = !samplePositionList.isEmpty();
const OFBool list2 = !timeOffsetList.isEmpty();
const OFBool list3 = !dateTimeList.isEmpty();
if (list1 && list2 && list3)
- REPORT_WARNING("ReferencedSamplePositions/TimeOffsets/DateTime present in TCOORD content item")
+ REPORT_WARNING("Referenced Sample Positions/Time Offsets/DateTime present in TCOORD content item")
else if (list1 && list2)
- REPORT_WARNING("ReferencedSamplePositions/TimeOffsets present in TCOORD content item")
+ REPORT_WARNING("Referenced Sample Positions/Time Offsets present in TCOORD content item")
else if (list1 && list3)
- REPORT_WARNING("ReferencedSamplePositions/DateTime present in TCOORD content item")
+ REPORT_WARNING("Referenced Sample Positions/DateTime present in TCOORD content item")
else if (list2 && list3)
- REPORT_WARNING("ReferencedTimeOffsets/DateTime present in TCOORD content item")
+ REPORT_WARNING("Referenced Time Offsets/DateTime present in TCOORD content item")
else if (!list1 && !list2 && !list3)
{
- REPORT_WARNING("ReferencedSamplePositions/TimeOffsets/DateTime empty in TCOORD content item")
+ REPORT_WARNING("Referenced Sample Positions/Time Offsets/DateTime empty in TCOORD content item")
/* invalid: all lists are empty (type 1C condition violated) */
result = SR_EC_InvalidValue;
}
+++ /dev/null
-/*
- *
- * Copyright (C) 2000-2014, OFFIS e.V.
- * All rights reserved. See COPYRIGHT file for details.
- *
- * This software and supporting documentation were developed by
- *
- * OFFIS e.V.
- * R&D Division Health
- * Escherweg 2
- * D-26121 Oldenburg, Germany
- *
- *
- * Module: dcmsr
- *
- * Author: Joerg Riesmeier
- *
- * Purpose:
- * classes: DSRTreeNodeCursor
- *
- */
-
-
-#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-
-#include "dcmtk/dcmsr/dsrtncsr.h"
-
-
-// NB: the implementation of the template class has been moved to the header file
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation are maintained by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: dcmsr
+ *
+ * Author: Joerg Riesmeier
+ *
+ * Purpose:
+ * classes: DSRIncludedTemplateTreeNode
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+
+#include "dcmtk/dcmsr/dsrtypes.h"
+#include "dcmtk/dcmsr/dsrtpltn.h"
+#include "dcmtk/dcmsr/dsrstpl.h"
+#include "dcmtk/dcmsr/dsrxmld.h"
+
+
+DSRIncludedTemplateTreeNode::DSRIncludedTemplateTreeNode(const DSRSharedSubTemplate &referencedTemplate,
+ const E_RelationshipType defaultRelType)
+ : DSRDocumentTreeNode(defaultRelType, VT_includedTemplate),
+ ReferencedTemplate(referencedTemplate)
+{
+ if (ReferencedTemplate)
+ {
+ /* store template identification of the referenced template */
+ DSRDocumentTreeNode::setTemplateIdentification(ReferencedTemplate->getTemplateIdentifier(),
+ ReferencedTemplate->getMappingResource(),
+ ReferencedTemplate->getMappingResourceUID());
+ }
+}
+
+
+DSRIncludedTemplateTreeNode::DSRIncludedTemplateTreeNode(const DSRIncludedTemplateTreeNode &node)
+ : DSRDocumentTreeNode(node),
+ ReferencedTemplate(node.ReferencedTemplate)
+{
+}
+
+
+DSRIncludedTemplateTreeNode::~DSRIncludedTemplateTreeNode()
+{
+}
+
+
+DSRIncludedTemplateTreeNode *DSRIncludedTemplateTreeNode::clone() const
+{
+ return new DSRIncludedTemplateTreeNode(*this);
+}
+
+
+void DSRIncludedTemplateTreeNode::clear()
+{
+ DSRDocumentTreeNode::clear();
+ ReferencedTemplate.reset();
+}
+
+
+OFBool DSRIncludedTemplateTreeNode::isValid() const
+{
+ return DSRDocumentTreeNode::isValid() && hasValidValue();
+}
+
+
+OFBool DSRIncludedTemplateTreeNode::hasValidValue() const
+{
+ /* check whether the reference to the included template is valid */
+ return ReferencedTemplate ? OFTrue : OFFalse;
+}
+
+
+OFBool DSRIncludedTemplateTreeNode::isShort(const size_t /*flags*/) const
+{
+ return !hasValidValue();
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::print(STD_NAMESPACE ostream &stream,
+ const size_t flags) const
+{
+ stream << "# INCLUDE ";
+ /* check whether template identification is set */
+ if (hasTemplateIdentification())
+ {
+ OFString templateIdentifier, mappingResource;
+ getTemplateIdentification(templateIdentifier, mappingResource);
+ stream << "TID " << templateIdentifier << " (" << mappingResource << ")";
+ } else {
+ /* no details on the template available */
+ stream << "<unknown template>";
+ }
+ /* check whether default relationship type is specified */
+ if (getRelationshipType() != RT_unknown)
+ stream << " with default relationship type " << relationshipTypeToDefinedTerm(getRelationshipType());
+ /* print annotation (optional) */
+ if (hasAnnotation() && (flags & PF_printAnnotation))
+ stream << " \"" << getAnnotation().getText() << "\"";
+ return EC_Normal;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::writeXML(STD_NAMESPACE ostream &stream,
+ const size_t flags) const
+{
+ OFCondition result = EC_Normal;
+ /* write content of included template in XML format (if non-empty) */
+ if (hasValidValue() && !ReferencedTemplate->isEmpty())
+ {
+ OFString templateIdentifier, mappingResource;
+ /* output details on beginning of included template (if enabled) */
+ if (hasTemplateIdentification() && (flags & XF_addCommentsForIncludedTemplate))
+ {
+ getTemplateIdentification(templateIdentifier, mappingResource);
+ stream << "<!-- BEGIN: included template TID " << templateIdentifier << " (" << mappingResource << ") -->" << OFendl;
+ }
+ /* write content of referenced document subtree */
+ result = ReferencedTemplate->writeXML(stream, flags);
+ /* output details on end of included template (if available, see above) */
+ if (!templateIdentifier.empty() && !mappingResource.empty())
+ stream << "<!-- END: included template TID " << templateIdentifier << " (" << mappingResource << ") -->" << OFendl;
+ }
+ return result;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::setValue(const DSRSharedSubTemplate &referencedTemplate)
+{
+ ReferencedTemplate = referencedTemplate;
+ /* currently, no checks are performed */
+ return EC_Normal;
+}
+
+
+// protected methods
+
+OFCondition DSRIncludedTemplateTreeNode::read(DcmItem & /*dataset*/,
+ const DSRIODConstraintChecker * /*constraintChecker*/,
+ const size_t /*flags*/)
+{
+ /* invalid: cannot read document with included templates */
+ return SR_EC_CannotProcessIncludedTemplates;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::write(DcmItem & /*dataset*/,
+ DcmStack * /*markedItems*/)
+{
+ /* invalid: cannot write document with included templates */
+ return SR_EC_CannotProcessIncludedTemplates;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::readXML(const DSRXMLDocument & /*doc*/,
+ DSRXMLCursor /*cursor*/,
+ const E_DocumentType /*documentType*/,
+ const size_t /*flags*/)
+{
+ /* invalid: cannot read document with included templates */
+ return SR_EC_CannotProcessIncludedTemplates;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::renderHTML(STD_NAMESPACE ostream & /*docStream*/,
+ STD_NAMESPACE ostream & /*annexStream*/,
+ const size_t /*nestingLevel*/,
+ size_t & /*annexNumber*/,
+ const size_t /*flags*/) const
+{
+ /* invalid: cannot render document with included templates */
+ return SR_EC_CannotProcessIncludedTemplates;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::setConceptName(const DSRCodedEntryValue & /*conceptName*/,
+ const OFBool /*check*/)
+{
+ /* invalid: no concept name allowed */
+ return EC_IllegalCall;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::setObservationDateTime(const OFString & /*observationDateTime*/,
+ const OFBool /*check*/)
+{
+ /* invalid: no observation date/time allowed */
+ return EC_IllegalCall;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::setObservationDateTime(const DcmElement & /*delem*/,
+ const unsigned long /*pos*/,
+ const OFBool /*check*/)
+{
+ /* invalid: no observation date/time allowed */
+ return EC_IllegalCall;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::setObservationDateTime(DcmItem & /*dataset*/,
+ const DcmTagKey & /*tagKey*/,
+ const unsigned long /*pos*/,
+ const OFBool /*check*/)
+{
+ /* invalid: no observation date/time allowed */
+ return EC_IllegalCall;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::setObservationUID(const OFString & /*observationUID*/,
+ const OFBool /*check*/)
+{
+ /* invalid: no observation unique identifier allowed */
+ return EC_IllegalCall;
+}
+
+
+OFCondition DSRIncludedTemplateTreeNode::setTemplateIdentification(const OFString & /*templateIdentifier*/,
+ const OFString & /*mappingResource*/,
+ const OFString & /*mappingResourceUID*/,
+ const OFBool /*check*/)
+{
+ /* invalid: no manual setting of template identification allowed */
+ return EC_IllegalCall;
+}
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/dcmsr/dsrimpcc.h"
#include "dcmtk/dcmsr/dsrc3dcc.h"
#include "dcmtk/dcmsr/dsrrrdcc.h"
+#include "dcmtk/dcmsr/dsracqcc.h"
#include "dcmtk/ofstd/ofstd.h"
const size_t DSRTypes::XF_addSchemaReference = 1 << 8;
const size_t DSRTypes::XF_validateSchema = 1 << 9;
const size_t DSRTypes::XF_templateElementEnclosesItems = 1 << 10;
+const size_t DSRTypes::XF_addCommentsForIncludedTemplate = 1 << 11;
/* shortcuts */
const size_t DSRTypes::XF_encodeEverythingAsAttribute = DSRTypes::XF_codeComponentsAsAttribute |
DSRTypes::XF_relationshipTypeAsAttribute |
const size_t DSRTypes::PF_printNodeID = 1 << 10;
const size_t DSRTypes::PF_indicateEnhancedEncodingMode = 1 << 11;
const size_t DSRTypes::PF_printAnnotation = 1 << 12;
+const size_t DSRTypes::PF_hideIncludedTemplateNodes = 1 << 13;
/* shortcuts */
const size_t DSRTypes::PF_printAllCodes = DSRTypes::PF_printConceptNameCodes;
makeOFConditionConst(SR_EC_CodedEntryNotInContextGroup, OFM_dcmsr, 29, OF_error, "Coded Entry not in Context Group");
makeOFConditionConst(SR_EC_CodedEntryInStandardContextGroup, OFM_dcmsr, 30, OF_ok, "Coded Entry in Context Group (Standard)");
makeOFConditionConst(SR_EC_CodedEntryIsExtensionOfContextGroup, OFM_dcmsr, 31, OF_ok, "Coded Entry in Context Group (Extension)");
+makeOFConditionConst(SR_EC_ValueSetConstraintViolated, OFM_dcmsr, 32, OF_error, "Value Set Constraint violated");
+makeOFConditionConst(SR_EC_InvalidTemplateStructure, OFM_dcmsr, 33, OF_error, "Invalid Template Structure");
+makeOFConditionConst(SR_EC_CannotProcessIncludedTemplates, OFM_dcmsr, 34, OF_error, "Cannot process Document Tree with included Templates");
+
// NOTE:
// error codes 1000 and above are reserved for the submodule "cmr"
{DSRTypes::DT_ImplantationPlanSRDocument, UID_ImplantationPlanSRDocumentStorage, OFTrue, "SR", "Implantation Plan SR Document"},
{DSRTypes::DT_Comprehensive3DSR, UID_Comprehensive3DSRStorage, OFFalse, "SR", "Comprehensive 3D SR"},
{DSRTypes::DT_RadiopharmaceuticalRadiationDoseSR, UID_RadiopharmaceuticalRadiationDoseSRStorage, OFTrue, "SR", "Radiopharmaceutical Radiation Dose SR"},
- {DSRTypes::DT_ExtensibleSR, UID_ExtensibleSRStorage, OFTrue, "SR", "Extensible SR"}
+ {DSRTypes::DT_ExtensibleSR, UID_ExtensibleSRStorage, OFTrue, "SR", "Extensible SR"},
+ {DSRTypes::DT_AcquisitionContextSR, UID_AcquisitionContextSRStorage, OFTrue, "SR", "Acquisition Context SR"}
};
{
{DSRTypes::RT_invalid, "", "invalid relationship type"},
{DSRTypes::RT_unknown, "", "unknown relationship type"},
- {DSRTypes::RT_isRoot, "", ""},
+ {DSRTypes::RT_isRoot, "", "(is root)"},
{DSRTypes::RT_contains, "CONTAINS", "contains"},
{DSRTypes::RT_hasObsContext, "HAS OBS CONTEXT", "has obs context"},
{DSRTypes::RT_hasAcqContext, "HAS ACQ CONTEXT", "has acq context"},
static const S_ValueTypeNameMap ValueTypeNameMap[] =
{
- {DSRTypes::VT_invalid, "", "item", "invalid/unknown value type"},
- {DSRTypes::VT_Text, "TEXT", "text", "Text"},
- {DSRTypes::VT_Code, "CODE", "code", "Code"},
- {DSRTypes::VT_Num, "NUM", "num", "Number"},
- {DSRTypes::VT_DateTime, "DATETIME", "datetime", "Date/Time"},
- {DSRTypes::VT_Date, "DATE", "date", "Date"},
- {DSRTypes::VT_Time, "TIME", "time", "Time"},
- {DSRTypes::VT_UIDRef, "UIDREF", "uidref", "UID Reference"},
- {DSRTypes::VT_PName, "PNAME", "pname", "Person Name"},
- {DSRTypes::VT_SCoord, "SCOORD", "scoord", "Spatial Coordinates"},
- {DSRTypes::VT_SCoord3D, "SCOORD3D", "scoord3d", "Spatial Coordinates (3D)"},
- {DSRTypes::VT_TCoord, "TCOORD", "tcoord", "Temporal Coordinates"},
- {DSRTypes::VT_Composite, "COMPOSITE", "composite", "Composite Object"},
- {DSRTypes::VT_Image, "IMAGE", "image", "Image"},
- {DSRTypes::VT_Waveform, "WAVEFORM", "waveform", "Waveform"},
- {DSRTypes::VT_Container, "CONTAINER", "container", "Container"},
- {DSRTypes::VT_byReference, "(by-reference)", "reference", "(by-reference)"}
+ {DSRTypes::VT_invalid, "", "item", "invalid/unknown value type"},
+ {DSRTypes::VT_Text, "TEXT", "text", "Text"},
+ {DSRTypes::VT_Code, "CODE", "code", "Code"},
+ {DSRTypes::VT_Num, "NUM", "num", "Number"},
+ {DSRTypes::VT_DateTime, "DATETIME", "datetime", "Date/Time"},
+ {DSRTypes::VT_Date, "DATE", "date", "Date"},
+ {DSRTypes::VT_Time, "TIME", "time", "Time"},
+ {DSRTypes::VT_UIDRef, "UIDREF", "uidref", "UID Reference"},
+ {DSRTypes::VT_PName, "PNAME", "pname", "Person Name"},
+ {DSRTypes::VT_SCoord, "SCOORD", "scoord", "Spatial Coordinates"},
+ {DSRTypes::VT_SCoord3D, "SCOORD3D", "scoord3d", "Spatial Coordinates (3D)"},
+ {DSRTypes::VT_TCoord, "TCOORD", "tcoord", "Temporal Coordinates"},
+ {DSRTypes::VT_Composite, "COMPOSITE", "composite", "Composite Object"},
+ {DSRTypes::VT_Image, "IMAGE", "image", "Image"},
+ {DSRTypes::VT_Waveform, "WAVEFORM", "waveform", "Waveform"},
+ {DSRTypes::VT_Container, "CONTAINER", "container", "Container"},
+ {DSRTypes::VT_byReference, "(by-reference)", "reference", "(by-reference)"},
+ {DSRTypes::VT_includedTemplate, "(incl-template)", "template", "(included template)"}
};
static const S_CharacterSetNameMap CharacterSetNameMap[] =
{
- // columns: enum, DICOM, HTML, XML (if "?" a warning is reported)
- {DSRTypes::CS_invalid, "", "", ""},
- {DSRTypes::CS_ASCII, "ISO_IR 6", "", "UTF-8"}, /* "ISO_IR 6" is only used for reading */
- {DSRTypes::CS_Latin1, "ISO_IR 100", "ISO-8859-1", "ISO-8859-1"},
- {DSRTypes::CS_Latin2, "ISO_IR 101", "ISO-8859-2", "ISO-8859-2"},
- {DSRTypes::CS_Latin3, "ISO_IR 109", "ISO-8859-3", "ISO-8859-3"},
- {DSRTypes::CS_Latin4, "ISO_IR 110", "ISO-8859-4", "ISO-8859-4"},
- {DSRTypes::CS_Cyrillic, "ISO_IR 144", "ISO-8859-5", "ISO-8859-5"},
- {DSRTypes::CS_Arabic, "ISO_IR 127", "ISO-8859-6", "ISO-8859-6"},
- {DSRTypes::CS_Greek, "ISO_IR 126", "ISO-8859-7", "ISO-8859-7"},
- {DSRTypes::CS_Hebrew, "ISO_IR 138", "ISO-8859-8", "ISO-8859-8"},
- {DSRTypes::CS_Latin5, "ISO_IR 148", "ISO-8859-9", "ISO-8859-9"},
- {DSRTypes::CS_Japanese, "ISO_IR 13", "?", "?"}, /* JIS_X0201 ? */
- {DSRTypes::CS_Thai, "ISO_IR 166", "?", "?"}, /* TIS-620 ? */
- {DSRTypes::CS_UTF8, "ISO_IR 192", "UTF-8", "UTF-8"}
+ // columns: enum, DICOM, HTML, XML (if "?" a warning is reported).
+ // This mapping is based on Table D-1 in DICOM PS 3.18 Annex D.
+ {DSRTypes::CS_invalid, "", "", ""},
+ {DSRTypes::CS_ASCII, "ISO_IR 6", "", "UTF-8"}, /* "ISO_IR 6" is only used for reading */
+ {DSRTypes::CS_Latin1, "ISO_IR 100", "ISO-8859-1", "ISO-8859-1"},
+ {DSRTypes::CS_Latin2, "ISO_IR 101", "ISO-8859-2", "ISO-8859-2"},
+ {DSRTypes::CS_Latin3, "ISO_IR 109", "ISO-8859-3", "ISO-8859-3"},
+ {DSRTypes::CS_Latin4, "ISO_IR 110", "ISO-8859-4", "ISO-8859-4"},
+ {DSRTypes::CS_Cyrillic, "ISO_IR 144", "ISO-8859-5", "ISO-8859-5"},
+ {DSRTypes::CS_Arabic, "ISO_IR 127", "ISO-8859-6", "ISO-8859-6"},
+ {DSRTypes::CS_Greek, "ISO_IR 126", "ISO-8859-7", "ISO-8859-7"},
+ {DSRTypes::CS_Hebrew, "ISO_IR 138", "ISO-8859-8", "ISO-8859-8"},
+ {DSRTypes::CS_Latin5, "ISO_IR 148", "ISO-8859-9", "ISO-8859-9"},
+ {DSRTypes::CS_Thai, "ISO_IR 166", "TIS-620", "TIS-620"},
+ {DSRTypes::CS_Japanese, "ISO 2022 IR 13\\ISO 2022 IR 87", "ISO-2022-JP", "ISO-2022-JP"},
+ {DSRTypes::CS_Korean, "ISO 2022 IR 6\\ISO 2022 IR 149", "ISO-2022-KR", "ISO-2022-KR"},
+ {DSRTypes::CS_ChineseISO, "ISO 2022 IR 6\\ISO 2022 IR 58", "ISO-2022-CN", "ISO-2022-CN"},
+ {DSRTypes::CS_ChineseGB18030, "GB18030", "GB18030", "GB18030"},
+ {DSRTypes::CS_ChineseGBK, "GBK", "GBK", "GBK"},
+ {DSRTypes::CS_UTF8, "ISO_IR 192", "UTF-8", "UTF-8"}
};
case DT_ExtensibleSR:
/* not yet supported */
break;
+ case DT_AcquisitionContextSR:
+ checker = new DSRAcquisitionContextConstraintChecker();
+ break;
case DT_invalid:
/* nothing to do */
break;
{
OFString tempString;
stream << "<" << tagName << ">";
- if (delem.getVR() == EVR_PN) // special formatting for person names
+ /* special formatting for person names */
+ if (delem.getVR() == EVR_PN)
{
OFString xmlString;
+ /* use first element value only */
stream << OFendl << dicomToXMLPersonName(getStringValueFromElement(delem, tempString), xmlString, writeEmptyValue) << OFendl;
- } else
- OFStandard::convertToMarkupStream(stream, getStringValueFromElement(delem, tempString), OFFalse /*convertNonASCII*/);
+ } else {
+ /* use all element values (1-n) */
+ getStringValueFromElement(delem, tempString, -1 /* all components */);
+ OFStandard::convertToMarkupStream(stream, tempString, OFFalse /*convertNonASCII*/);
+ }
stream << "</" << tagName << ">" << OFendl;
result = OFTrue;
}
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
-#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION
-#define EXPLICIT_SPECIALIZATION template<>
-#else
-#define EXPLICIT_SPECIALIZATION
-#endif
-
/* declared in class DSRListOfItems<T> */
-EXPLICIT_SPECIALIZATION const DSRWaveformChannelItem DSRListOfItems<DSRWaveformChannelItem>::EmptyItem(0, 0);
+DCMTK_EXPLICIT_SPECIALIZATION
+const DSRWaveformChannelItem DSRListOfItems<DSRWaveformChannelItem>::EmptyItem(0, 0);
DSRWaveformChannelList::DSRWaveformChannelList()
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCondition result = DSRCompositeReferenceValue::checkSOPClassUID(sopClassUID);
if (result.good())
{
- /* check for all valid/known SOP classes (according to DICOM PS 3.6-2014a) */
+ /* check for all valid/known SOP classes (according to DICOM PS 3.6-2015c) */
if ((sopClassUID != UID_TwelveLeadECGWaveformStorage) &&
(sopClassUID != UID_GeneralECGWaveformStorage) &&
(sopClassUID != UID_AmbulatoryECGWaveformStorage) &&
/*
*
- * Copyright (C) 2005-2014, OFFIS e.V.
+ * Copyright (C) 2005-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
-const char *DSRXRayRadiationDoseSRConstraintChecker::getRootTemplateIdentifier() const
+OFCondition DSRXRayRadiationDoseSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier,
+ OFString &mappingResource) const
{
- return NULL;
+ templateIdentifier.clear();
+ mappingResource.clear();
+ return EC_Normal;
}
(targetValueType == VT_DateTime) || (targetValueType == VT_UIDRef) || (targetValueType == VT_PName) ||
(targetValueType == VT_Image) || (targetValueType == VT_Composite) || (targetValueType == VT_Container);
}
- /* row 7 of the table - introduced with CP 1076 */
+ /* row 7 of the table - introduced with CP-1076 */
else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName))
{
result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) ||
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h
tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../oflog/include/dcmtk/oflog/logmacro.h \
../../oflog/include/dcmtk/oflog/helpers/snprintf.h \
../../oflog/include/dcmtk/oflog/tracelog.h \
- ../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrdoc.h ../include/dcmtk/dcmsr/dsrdoctr.h \
+ ../include/dcmtk/dcmsr/dsrdocst.h ../include/dcmtk/dcmsr/dsrtree.h \
../include/dcmtk/dcmsr/dsrtypes.h \
../../dcmdata/include/dcmtk/dcmdata/dctk.h \
../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
- ../include/dcmtk/dcmsr/dsdefine.h \
- ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
- ../include/dcmtk/dcmsr/dsrnumtn.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \
+ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/codes/dcm.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \
+ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
+ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
+ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrsc3vl.h \
+ ../include/dcmtk/dcmsr/dsrsc3gr.h ../include/dcmtk/dcmsr/dsrtcovl.h \
+ ../include/dcmtk/dcmsr/dsrtcodt.h ../include/dcmtk/dcmsr/dsrtcosp.h \
+ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
+ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
+ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
+ ../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
+ ../include/dcmtk/dcmsr/dsrnumtn.h ../include/dcmtk/dcmsr/codes/dcm.h \
+ ../include/dcmtk/dcmsr/codes/srt.h ../include/dcmtk/dcmsr/codes/ucum.h \
../include/dcmtk/dcmsr/cmr/init.h ../include/dcmtk/dcmsr/cmr/define.h \
../include/dcmtk/dcmsr/cmr/logger.h ../include/dcmtk/dcmsr/cmr/cid29e.h \
../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/dsrctxgr.h \
../include/dcmtk/dcmsr/cmr/cid42.h ../include/dcmtk/dcmsr/cmr/cid244e.h \
- ../include/dcmtk/dcmsr/cmr/cid244.h \
+ ../include/dcmtk/dcmsr/cmr/cid244.h ../include/dcmtk/dcmsr/cmr/cid4020.h \
../include/dcmtk/dcmsr/cmr/cid4031e.h \
../include/dcmtk/dcmsr/cmr/cid4031.h \
+ ../include/dcmtk/dcmsr/cmr/cid7181.h \
../include/dcmtk/dcmsr/cmr/cid7445.h \
../include/dcmtk/dcmsr/cmr/cid10013e.h \
../include/dcmtk/dcmsr/cmr/cid10013.h \
../include/dcmtk/dcmsr/cmr/cid10033e.h \
../include/dcmtk/dcmsr/cmr/cid10033.h \
../include/dcmtk/dcmsr/cmr/tid1001.h ../include/dcmtk/dcmsr/dsrstpl.h \
- ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \
- ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrscovl.h \
- ../include/dcmtk/dcmsr/dsrscogr.h ../include/dcmtk/dcmsr/dsrtlist.h \
- ../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \
- ../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \
- ../include/dcmtk/dcmsr/dsrtcosp.h ../include/dcmtk/dcmsr/dsrtcoto.h \
- ../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrimgvl.h \
- ../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrimgse.h \
- ../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrwavch.h \
- ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/cmr/cid7452.h \
+ ../include/dcmtk/dcmsr/cmr/cid7452.h \
../include/dcmtk/dcmsr/cmr/cid7453.h \
../include/dcmtk/dcmsr/cmr/tid1204.h \
../include/dcmtk/dcmsr/cmr/cid5000.h \
../include/dcmtk/dcmsr/cmr/cid5001.h \
+ ../include/dcmtk/dcmsr/cmr/tid1500.h \
+ ../include/dcmtk/dcmsr/cmr/tid1411.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvlu.h \
+ ../include/dcmtk/dcmsr/cmr/srnumvl.h \
../include/dcmtk/dcmsr/cmr/tid1600.h \
- ../include/dcmtk/dcmsr/cmr/srnumvl.h
+ ../include/dcmtk/dcmsr/cmr/cid4021.h ../include/dcmtk/dcmsr/cmr/cid100.h \
+ ../include/dcmtk/dcmsr/cmr/cid6147.h \
+ ../include/dcmtk/dcmsr/cmr/cid7021.h \
+ ../include/dcmtk/dcmsr/cmr/cid7464.h \
+ ../include/dcmtk/dcmsr/cmr/cid7469.h
tsrcodvl.o: tsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/oftest.h \
../../ofstd/include/dcmtk/ofstd/ofconapp.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h
tsrdoctr.o: tsrdoctr.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
+ ../include/dcmtk/dcmsr/dsrtpltn.h ../include/dcmtk/dcmsr/dsrstpl.h \
../include/dcmtk/dcmsr/dsrnumtn.h ../include/dcmtk/dcmsr/dsrtextn.h \
../include/dcmtk/dcmsr/dsrstrvl.h
tsrnumvl.o: tsrnumvl.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \
- ../include/dcmtk/dcmsr/dsrcodvl.h \
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \
+ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \
../../ofstd/include/dcmtk/ofstd/ofexbl.h \
../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \
../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \
../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \
../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \
../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \
- ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \
+ ../include/dcmtk/dcmsr/dsrwavch.h \
+ ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \
../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \
../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \
../include/dcmtk/dcmsr/dsrstpl.h
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../oflog/include/dcmtk/oflog/oflog.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \
../../ofstd/include/dcmtk/ofstd/ofstack.h \
- ../include/dcmtk/dcmsr/dsrtnant.h
+ ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h
/*
*
- * Copyright (C) 2000-2015, OFFIS e.V.
+ * Copyright (C) 2000-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
doc->getTree().getCurrentContentItem().setConceptName(DSRCodedEntryValue("CODE_03", OFFIS_CODING_SCHEME_DESIGNATOR, "Treatment"));
doc->getTree().getCurrentContentItem().setStringValue("The plan of treatment is as follows: 4500 rad, 15 treatment sessions, using 100 kV radiation.\nThe reason for treatment, expected acute reaction, and remote possibility of complication was discussed with this patient at some length, and he accepted therapy as outlined.");
- // add additional information on UCUM coding scheme (UID from CP 372)
+ // add additional information on UCUM coding scheme (UID from CP-372)
doc->getCodingSchemeIdentification().addItem("UCUM");
doc->getCodingSchemeIdentification().setCodingSchemeUID("2.16.840.1.113883.6.8");
doc->getCodingSchemeIdentification().setCodingSchemeName("Unified Code for Units of Measure");
/*
*
- * Copyright (C) 2012-2015, OFFIS e.V.
+ * Copyright (C) 2012-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFTEST_REGISTER(dcmsr_addTreeNode_3);
OFTEST_REGISTER(dcmsr_addTreeNode_4);
OFTEST_REGISTER(dcmsr_addTreeNode_5);
+OFTEST_REGISTER(dcmsr_addTreeNode_6);
+OFTEST_REGISTER(dcmsr_replaceTreeNode);
OFTEST_REGISTER(dcmsr_getPosition);
OFTEST_REGISTER(dcmsr_countChildNodes);
OFTEST_REGISTER(dcmsr_treeWithoutRoot);
OFTEST_REGISTER(dcmsr_cloneSubTree_2);
OFTEST_REGISTER(dcmsr_extractSubTree);
OFTEST_REGISTER(dcmsr_gotoAnnotatedTreeNode);
-OFTEST_REGISTER(dcmsr_addContentItem);
+OFTEST_REGISTER(dcmsr_addContentItem_1);
+OFTEST_REGISTER(dcmsr_addContentItem_2);
OFTEST_REGISTER(dcmsr_copyContentItem);
OFTEST_REGISTER(dcmsr_gotoNamedNode);
OFTEST_REGISTER(dcmsr_gotoAnnotatedNode);
OFTEST_REGISTER(dcmsr_rootTemplate);
OFTEST_REGISTER(dcmsr_subTemplate_1);
OFTEST_REGISTER(dcmsr_subTemplate_2);
+OFTEST_REGISTER(dcmsr_createExpandedTree);
+OFTEST_REGISTER(dcmsr_templateWithByReferenceRelationship_1);
+OFTEST_REGISTER(dcmsr_templateWithByReferenceRelationship_2);
+OFTEST_REGISTER(dcmsr_validCompleteOrEmptyCode);
OFTEST_REGISTER(dcmsr_setCodeValueType);
OFTEST_REGISTER(dcmsr_determineCodeValueType);
OFTEST_REGISTER(dcmsr_writeCodeSequence);
OFTEST_REGISTER(dcmsr_CID10033e_CTReconstructionAlgorithm);
OFTEST_REGISTER(dcmsr_TID1001_ObservationContext);
OFTEST_REGISTER(dcmsr_TID1204_LanguageOfContentItemAndDescendants);
+OFTEST_REGISTER(dcmsr_TID1500_MeasurementReport);
OFTEST_REGISTER(dcmsr_TID1600_ImageLibrary);
OFTEST_REGISTER(dcmsr_CMR_SRNumericMeasurementValue);
+OFTEST_REGISTER(dcmsr_CMR_SRNumericMeasurementValueWithUnits_baselineGroup);
+OFTEST_REGISTER(dcmsr_CMR_SRNumericMeasurementValueWithUnits_definedGroup);
/* the following should be the last test case */
OFTEST_REGISTER(dcmsr_cleanupContentMappingResource);
OFTEST_MAIN("dcmsr")
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/dcmsr/dsrdoc.h"
#include "dcmtk/dcmsr/dsrnumvl.h"
#include "dcmtk/dcmsr/dsrnumtn.h"
#include "dcmtk/dcmsr/codes/dcm.h"
+#include "dcmtk/dcmsr/codes/srt.h"
+#include "dcmtk/dcmsr/codes/ucum.h"
#include "dcmtk/dcmsr/cmr/init.h"
#include "dcmtk/dcmsr/cmr/logger.h"
#include "dcmtk/dcmsr/cmr/cid29e.h"
#include "dcmtk/dcmsr/cmr/cid42.h"
#include "dcmtk/dcmsr/cmr/cid244e.h"
+#include "dcmtk/dcmsr/cmr/cid4020.h"
#include "dcmtk/dcmsr/cmr/cid4031e.h"
+#include "dcmtk/dcmsr/cmr/cid7181.h"
#include "dcmtk/dcmsr/cmr/cid7445.h"
#include "dcmtk/dcmsr/cmr/cid10013e.h"
#include "dcmtk/dcmsr/cmr/cid10033e.h"
#include "dcmtk/dcmsr/cmr/tid1001.h"
#include "dcmtk/dcmsr/cmr/tid1204.h"
+#include "dcmtk/dcmsr/cmr/tid1500.h"
#include "dcmtk/dcmsr/cmr/tid1600.h"
#include "dcmtk/dcmsr/cmr/srnumvl.h"
+#include "dcmtk/dcmsr/cmr/srnumvlu.h"
OFTEST(dcmsr_CID29e_AcquisitionModality)
DSRCodedEntryValue codedEntry = ctxGroup;
OFCHECK(ctxGroup.hasSelectedValue());
OFCHECK(ctxGroup.getSelectedValue() == codedEntry);
- OFCHECK_EQUAL(CID4031e_CommonAnatomicRegions::mapBodyPartExamined("ABDOMEN").getCodeMeaning(), "Abdomen");
- OFCHECK_EQUAL(CID4031e_CommonAnatomicRegions::mapBodyPartExamined("KNEE").getCodeMeaning(), "Knee");
- OFCHECK_EQUAL(CID4031e_CommonAnatomicRegions::mapBodyPartExamined("ZYGOMA").getCodeMeaning(), "Zygoma");
+ OFCHECK_EQUAL(CMR_CID4031e::mapBodyPartExamined("ABDOMEN").getCodeMeaning(), "Abdomen");
+ OFCHECK_EQUAL(CMR_CID4031e::mapBodyPartExamined("KNEE").getCodeMeaning(), "Knee");
+ OFCHECK_EQUAL(CMR_CID4031e::mapBodyPartExamined("ZYGOMA").getCodeMeaning(), "Zygoma");
/* invalid/unknown defined terms */
- OFCHECK(CID4031e_CommonAnatomicRegions::mapBodyPartExamined("XYZ").isEmpty());
- OFCHECK(CID4031e_CommonAnatomicRegions::mapBodyPartExamined("").isEmpty());
+ OFCHECK(CMR_CID4031e::mapBodyPartExamined("XYZ").isEmpty());
+ OFCHECK(CMR_CID4031e::mapBodyPartExamined("").isEmpty());
OFCHECK(ctxGroup.selectValue("XYZ").bad());
}
CID7445_DeviceParticipatingRoles ctxGroup1;
OFCHECK(!ctxGroup1.hasSelectedValue());
OFCHECK(!ctxGroup1.hasCodedEntry(DSRBasicCodedEntry("0815", "99TEST", "Some test code")));
+ OFCHECK(!ctxGroup1.hasExtendedCodedEntries());
/* add an extended code to the context group */
OFCHECK(ctxGroup1.addCodedEntry(DSRBasicCodedEntry("0815", "99TEST", "Some test code")).good());
OFCHECK(ctxGroup1.hasCodedEntry(DSRBasicCodedEntry("0815", "99TEST", "Some test code")));
OFCHECK(ctxGroup1.findCodedEntry(CODE_DCM_Recording) == SR_EC_CodedEntryInStandardContextGroup);
OFCHECK(ctxGroup1.findCodedEntry(DSRBasicCodedEntry("0815", "99TEST", "Some test code")) == SR_EC_CodedEntryIsExtensionOfContextGroup);
+ OFCHECK(ctxGroup1.hasExtendedCodedEntries());
/* try again with a non-extensible context group */
CID7445_DeviceParticipatingRoles ctxGroup2(DSRBasicCodedEntry("4711", "99TEST", "Some other test code"));
ctxGroup2.setExtensible(OFFalse);
OFCHECK(ctxGroup2.hasSelectedValue());
OFCHECK(ctxGroup2.addCodedEntry(DSRBasicCodedEntry("4711", "99TEST", "Some other test code")).bad());
+ OFCHECK(!ctxGroup2.hasExtendedCodedEntries());
/* check whether the currently selected code is valid */
OFCHECK(ctxGroup2.checkSelectedValue(OFFalse /*definedContextGroup*/).good());
OFCHECK(ctxGroup2.checkSelectedValue(OFTrue /*definedContextGroup*/).bad());
/* select another value (by two different ways) */
OFCHECK(ctxGroup2.selectValue(CODE_DCM_XRayReadingDevice).good());
- OFCHECK(ctxGroup2.selectValue(CID7445_DeviceParticipatingRoles::IrradiatingDevice).good());
+ OFCHECK(ctxGroup2.selectValue(CMR_CID7445::IrradiatingDevice).good());
/* and finally, check the static get() function */
- DSRCodedEntryValue codeValue = CID7445_DeviceParticipatingRoles::getCodedEntry(CID7445_DeviceParticipatingRoles::Recording, OFTrue /*enhancedEncodingMode*/);
+ DSRCodedEntryValue codeValue = CMR_CID7445::getCodedEntry(CMR_CID7445::Recording, OFTrue /*enhancedEncodingMode*/);
OFCHECK(codeValue == CODE_DCM_Recording);
OFCHECK_EQUAL(codeValue.getContextIdentifier(), "7445");
OFCHECK_EQUAL(codeValue.getMappingResource(), "DCMR");
OFTEST(dcmsr_CID10013e_CTAcquisitionType)
{
- OFCHECK(CID10013e_CTAcquisitionType::mapAcquisitionType("SEQUENCED") == CODE_DCM_SequencedAcquisition);
- OFCHECK(CID10013e_CTAcquisitionType::mapAcquisitionType("CONSTANT_ANGLE") == CODE_DCM_ConstantAngleAcquisition);
- OFCHECK(CID10013e_CTAcquisitionType::mapAcquisitionType("FREE") == CODE_DCM_FreeAcquisition);
+ OFCHECK(CMR_CID10013e::mapAcquisitionType("SEQUENCED") == CODE_DCM_SequencedAcquisition);
+ OFCHECK(CMR_CID10013e::mapAcquisitionType("CONSTANT_ANGLE") == CODE_DCM_ConstantAngleAcquisition);
+ OFCHECK(CMR_CID10013e::mapAcquisitionType("FREE") == CODE_DCM_FreeAcquisition);
/* invalid/unknown defined terms */
- OFCHECK(CID10013e_CTAcquisitionType::mapAcquisitionType("XYZ").isEmpty());
+ OFCHECK(CMR_CID10013e::mapAcquisitionType("XYZ").isEmpty());
}
OFTEST(dcmsr_CID10033e_CTReconstructionAlgorithm)
{
- OFCHECK(CID10033e_CTReconstructionAlgorithm::mapReconstructionAlgorithm("FILTER_BACK_PROJ") == CODE_DCM_FilteredBackProjection);
- OFCHECK(CID10033e_CTReconstructionAlgorithm::mapReconstructionAlgorithm("ITERATIVE") == CODE_DCM_IterativeReconstruction);
+ OFCHECK(CMR_CID10033e::mapReconstructionAlgorithm("FILTER_BACK_PROJ") == CODE_DCM_FilteredBackProjection);
+ OFCHECK(CMR_CID10033e::mapReconstructionAlgorithm("ITERATIVE") == CODE_DCM_IterativeReconstruction);
/* invalid/unknown defined terms */
- OFCHECK(CID10033e_CTReconstructionAlgorithm::mapReconstructionAlgorithm("XYZ").isEmpty());
+ OFCHECK(CMR_CID10033e::mapReconstructionAlgorithm("XYZ").isEmpty());
}
{
TID1001_ObservationContext obsContext;
OFList<CID7445_DeviceParticipatingRoles> procRoles;
- procRoles.push_back(CID7445_DeviceParticipatingRoles::IrradiatingDevice);
- procRoles.push_back(CID7445_DeviceParticipatingRoles::Recording);
+ procRoles.push_back(CMR_CID7445::IrradiatingDevice);
+ procRoles.push_back(CMR_CID7445::Recording);
+ /* check template identification */
+ OFCHECK(obsContext.compareTemplateIdentication("1001", "DCMR"));
+ /* empty template is not valid */
+ OFCHECK(!obsContext.isValid());
/* add person and device observers */
- OFCHECK(obsContext.addPersonObserver("Doe^John", "", CID7452_OrganizationalRoles::Physician, CID7453_PerformingRoles::Referring).good());
OFCHECK(obsContext.addDeviceObserver("1.2.4.5.6.7.8.9.0").good());
- OFCHECK(obsContext.addDeviceObserver("007", "Some Name", "Some Manufacturer", "Some Model Name", "", "", procRoles, OFFalse /*check*/).good());
+ OFCHECK(obsContext.addPersonObserver("Doe^John", "", CMR_CID7452::Physician, CMR_CID7453::Referring).good());
+ OFCHECK(obsContext.addDeviceObserver("007", "Some Name", "Some Manufacturer", "Some Model Name", "", "", procRoles, "AETITLE", OFFalse /*check*/).good());
OFCHECK(obsContext.addPersonObserver("Doe^Jane", "Some Organization").good());
/* check some additions that should fail */
OFCHECK(obsContext.addPersonObserver("").bad());
OFCHECK(obsContext.addDeviceObserver("01").bad());
/* check whether all nodes are present */
OFCHECK(obsContext.isValid());
- OFCHECK_EQUAL(obsContext.countNodes(), 16);
+ OFCHECK_EQUAL(obsContext.countNodes(), 17);
/* check whether annotations are as expected */
OFCHECK(obsContext.gotoAnnotatedNode("TID 1004 - Row 1") > 0);
OFCHECK(obsContext.gotoNextAnnotatedNode("TID 1004 - Row 1") > 0);
OFTEST(dcmsr_TID1204_LanguageOfContentItemAndDescendants)
{
TID1204_LanguageOfContentItemAndDescendants lang;
+ /* check template identification */
+ OFCHECK(lang.compareTemplateIdentication("1204", "DCMR"));
+ /* empty template is not valid */
+ OFCHECK(!lang.isValid());
/* add language */
OFCHECK(lang.setLanguage(CID5000_Languages::German_DE).good());
OFCHECK(lang.isValid());
}
+OFTEST(dcmsr_TID1500_MeasurementReport)
+{
+ TID1500_MeasurementReport report(CMR_CID7021::ImagingMeasurementReport);
+ DSRCodedEntryValue title;
+ /* check initial settings */
+ OFCHECK(!report.isValid());
+ OFCHECK(report.getDocumentTitle(title).good());
+ OFCHECK(title == CODE_DCM_ImagingMeasurementReport);
+ OFCHECK(report.compareTemplateIdentication("1500", "DCMR"));
+ /* create a new report */
+ OFCHECK(report.createNewMeasurementReport(CMR_CID7021::PETMeasurementReport).good());
+ OFCHECK(report.getDocumentTitle(title).good());
+ OFCHECK(title == CODE_DCM_PETMeasurementReport);
+ /* set the language */
+ OFCHECK(report.setLanguage(CID5000_Languages::English).good());
+ /* set details on the observation context */
+ OFCHECK(report.getObservationContext().addPersonObserver("Doe^Jane", "Some Organization").good());
+ /* create new image library (only needed after clear) */
+ OFCHECK(report.getImageLibrary().createNewImageLibrary().good());
+ /* set two values for "procedure reported" */
+ OFCHECK(!report.isValid());
+ OFCHECK(!report.hasProcedureReported());
+ OFCHECK(report.addProcedureReported(CMR_CID100::PETWholeBody).good());
+ OFCHECK(report.addProcedureReported(DSRCodedEntryValue("4711", "99TEST", "Some other test code")).good());
+ OFCHECK(report.hasProcedureReported());
+ OFCHECK(report.isValid());
+ /* some further checks */
+ OFCHECK(report.hasImagingMeasurements());
+ OFCHECK(report.hasVolumetricROIMeasurements());
+ OFCHECK(!report.hasQualitativeEvaluations());
+ OFCHECK(!report.hasImagingMeasurements(OFTrue /*checkChildren*/));
+ OFCHECK(!report.hasVolumetricROIMeasurements(OFTrue /*checkChildren*/));
+ OFCHECK(!report.hasQualitativeEvaluations(OFTrue /*checkChildren*/));
+ /* add two further volumetric ROI measurements */
+ OFCHECK(report.addVolumetricROIMeasurements().good());
+ OFCHECK(report.addVolumetricROIMeasurements().good());
+ OFCHECK(!report.hasVolumetricROIMeasurements(OFTrue /*checkChildren*/));
+ /* fill volumetric ROI measurements with data */
+ TID1500_MeasurementReport::TID1411_Measurements &measurements = report.getVolumetricROIMeasurements();
+ OFCHECK(!measurements.isValid());
+ OFCHECK(measurements.compareTemplateIdentication("1411", "DCMR"));
+ OFCHECK(measurements.setTrackingIdentifier("aorta reference region").good());
+ OFCHECK(measurements.setTrackingUniqueIdentifier("1.2.3.4.5").good());
+ OFCHECK(measurements.setTrackingIdentifier("some reference region").good());
+ OFCHECK(measurements.setActivitySession("1").good());
+ OFCHECK(measurements.setTimePoint("1.1").good());
+ OFCHECK(measurements.setSourceSeriesForSegmentation("6.7.8.9.0").good());
+ OFCHECK(measurements.setFinding(DSRBasicCodedEntry("0815", "99TEST", "Some test code")).good());
+ OFCHECK(!measurements.isValid());
+ /* test two ways of adding a referenced segment */
+ DSRImageReferenceValue segment(UID_SegmentationStorage, "1.0.2.0.3.0");
+ segment.getSegmentList().addItem(1);
+ DcmDataset dataset;
+ DcmItem *ditem = NULL;
+ OFCHECK(dataset.putAndInsertString(DCM_SOPClassUID, UID_SurfaceSegmentationStorage).good());
+ OFCHECK(dataset.putAndInsertString(DCM_SOPInstanceUID, "99.0").good());
+ OFCHECK(dataset.findOrCreateSequenceItem(DCM_SegmentSequence, ditem).good());
+ if (ditem != NULL)
+ {
+ OFCHECK(ditem->putAndInsertUint16(DCM_SegmentNumber, 1).good());
+ OFCHECK(ditem->putAndInsertString(DCM_TrackingID, "blabla").good());
+ OFCHECK(ditem->putAndInsertString(DCM_TrackingUID, "1.2.3").good());
+ }
+ OFCHECK(measurements.setReferencedSegment(segment).good());
+ OFCHECK(measurements.setReferencedSegment(DSRImageReferenceValue(UID_SegmentationStorage, "1.0")).bad());
+ OFCHECK(measurements.setReferencedSegment(dataset, 1).good());
+ dataset.clear();
+ OFCHECK(dataset.putAndInsertString(DCM_SOPClassUID, UID_RealWorldValueMappingStorage).good());
+ OFCHECK(dataset.putAndInsertString(DCM_SOPInstanceUID, "99.9").good());
+ OFCHECK(measurements.setRealWorldValueMap(DSRCompositeReferenceValue(UID_RealWorldValueMappingStorage, "2.0.3.0.4.0")).good());
+ OFCHECK(measurements.setRealWorldValueMap(DSRCompositeReferenceValue(UID_CTImageStorage, "2.0")).bad());
+ OFCHECK(measurements.setRealWorldValueMap(dataset).good());
+ OFCHECK(measurements.setFindingSite(CODE_SRT_AorticArch).good());
+ OFCHECK(measurements.setMeasurementMethod(DSRCodedEntryValue(CODE_DCM_SUVBodyWeightCalculationMethod)).good());
+ OFCHECK(!measurements.isValid());
+ /* add two measurement values */
+ const CMR_TID1411_in_TID1500::MeasurementValue numVal1("99", CMR_CID7181::StandardizedUptakeValueBodyWeight);
+ const CMR_TID1411_in_TID1500::MeasurementValue numVal2(CMR_CID42::MeasurementFailure);
+ OFCHECK(measurements.addMeasurement(CMR_CID7469::SUVbw, numVal1, CMR_CID6147(), CMR_CID7464::Mean).good());
+ OFCHECK(measurements.addMeasurement(CMR_CID7469::SUVbw, numVal2, DSRCodedEntryValue("0815", "99TEST", "Some test code"), CMR_CID7464::Mode).good());
+ OFCHECK(measurements.isValid());
+ /* now, add some qualitative evaluations */
+ const DSRCodedEntryValue code("1234", "99TEST", "not bad");
+ OFCHECK(report.addQualitativeEvaluation(DSRBasicCodedEntry("0815", "99TEST", "Some test code"), code).good());
+ OFCHECK(report.addQualitativeEvaluation(DSRBasicCodedEntry("4711", "99TEST", "Some other test code"), "very good").good());
+ /* some final checks */
+ OFCHECK(report.isValid());
+ OFCHECK(report.hasImagingMeasurements(OFTrue /*checkChildren*/));
+ OFCHECK(report.hasVolumetricROIMeasurements(OFTrue /*checkChildren*/));
+ OFCHECK(report.hasQualitativeEvaluations(OFTrue /*checkChildren*/));
+
+ /* check number of content items (expected) */
+ OFCHECK_EQUAL(report.getTree().countNodes(), 13);
+ OFCHECK_EQUAL(report.getTree().countNodes(OFTrue /*searchIntoSubTemplates*/), 34);
+ OFCHECK_EQUAL(report.getTree().countNodes(OFTrue /*searchIntoSubTemplates*/, OFFalse /*countIncludedTemplateNodes*/), 28);
+ /* create an expanded version of the tree */
+ DSRDocumentSubTree *tree = NULL;
+ OFCHECK(report.getTree().createExpandedSubTree(tree).good());
+ /* and check whether all content items are there */
+ if (tree != NULL)
+ {
+ OFCHECK_EQUAL(tree->countNodes(), 28);
+ OFCHECK_EQUAL(tree->countNodes(OFTrue /*searchIntoSubTemplates*/), 28);
+ OFCHECK_EQUAL(tree->countNodes(OFTrue /*searchIntoSubTemplates*/, OFFalse /*countIncludedTemplateNodes*/), 28);
+ delete tree;
+ } else
+ OFCHECK_FAIL("could create expanded tree");
+
+ /* try to insert the root template into a document */
+ DSRDocument doc;
+ OFCHECK(!doc.isValid());
+ OFCHECK_EQUAL(doc.getDocumentType(), DSRTypes::DT_BasicTextSR);
+ OFCHECK(doc.setTreeFromRootTemplate(report, OFFalse /*expandTree*/).good());
+ OFCHECK(doc.isValid());
+ OFCHECK_EQUAL(doc.getDocumentType(), DSRTypes::DT_EnhancedSR);
+ /* now, do the same with an expanded document tree */
+ OFCHECK(doc.setTreeFromRootTemplate(report, OFTrue /*expandTree*/).good());
+ OFCHECK(doc.isValid());
+ OFCHECK_EQUAL(doc.getDocumentType(), DSRTypes::DT_EnhancedSR);
+
+ /* output content of the tree (in debug mode only) */
+ if (DCM_dcmsrCmrLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ report.print(COUT, DSRTypes::PF_printTemplateIdentification | DSRTypes::PF_printAllCodes | DSRTypes::PF_printSOPInstanceUID |
+ DSRTypes::PF_printNodeID | DSRTypes::PF_printAnnotation | DSRTypes::PF_printLongSOPClassName);
+ }
+}
+
+
OFTEST(dcmsr_TID1600_ImageLibrary)
{
TID1600_ImageLibrary library;
DcmItem *item1, *item2;
+ /* check template identification */
+ OFCHECK(library.compareTemplateIdentication("1600", "DCMR"));
/* create four image datasets */
DcmDataset dataset1;
OFCHECK(dataset1.putAndInsertString(DCM_SOPClassUID, UID_CTImageStorage).good());
OFCHECK(DSRCodedEntryValue("4711b", "99TEST", "some even more strange modifier").writeSequenceItem(*item2, DCM_ViewModifierCodeSequence).good());
}
/* add two image groups */
+ OFCHECK(library.isValid());
+ OFCHECK(library.hasImageLibrary());
OFCHECK(library.addImageGroup().good());
OFCHECK(library.addImageEntry(dataset1).good());
OFCHECK(library.addImageEntryDescriptors(dataset1).good());
OFCHECK(library.addImageGroup().good());
OFCHECK(library.addImageEntry(dataset2, TID1600_ImageLibrary::withAllDescriptors).good());
+ OFCHECK(library.setPETImageRadionuclide(CID4020_PETRadionuclide::_18_Fluorine).good());
+ OFCHECK(library.setPETImageRadiopharmaceuticalAgent(CID4021_PETRadiopharmaceutical::Fluorodeoxyglucose_F18).good());
+ OFCHECK(library.setPETImageRadiopharmaceuticalStartDateTime("20151212").good());
+ OFCHECK(library.setPETImageRadiopharmaceuticalVolume(DSRNumericMeasurementValue("99.9", CODE_UCUM_cm3)).good());
+ OFCHECK(library.setPETImageRadionuclideTotalDose(DSRNumericMeasurementValue("9999", CODE_UCUM_Bq)).good());
OFCHECK(library.addImageEntry(dataset1, TID1600_ImageLibrary::withAllDescriptors).good());
+ OFCHECK(library.setPETImageRadionuclide(CID4020_PETRadionuclide::_18_Fluorine).bad());
OFCHECK(library.addImageEntry(dataset3, TID1600_ImageLibrary::withoutDescriptors).good());
OFCHECK(library.addImageEntry(dataset4, TID1600_ImageLibrary::withAllDescriptors).good());
OFCHECK(library.addImageEntryDescriptors(dataset3).good());
+ /* check modality code of most recently added entry */
+ DSRCodedEntryValue modality;
+ OFCHECK(library.getImageEntryModality(modality).good());
+ OFCHECK(modality == CODE_DCM_DigitalRadiography);
/* try to add another invocation of TID 1602 */
OFCHECK(library.addImageEntryDescriptors(dataset4).bad());
/* check number of expected content items */
- OFCHECK_EQUAL(library.countNodes(), 58);
+ OFCHECK_EQUAL(library.countNodes(), 61);
/* output content of the tree (in debug mode only) */
if (DCM_dcmsrCmrLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
{
library.print(COUT, DSRTypes::PF_printTemplateIdentification | DSRTypes::PF_printAllCodes | DSRTypes::PF_printSOPInstanceUID |
- DSRTypes::PF_printNodeID | DSRTypes::PF_indicateEnhancedEncodingMode | DSRTypes::PF_printAnnotation);
+ DSRTypes::PF_printNodeID | DSRTypes::PF_indicateEnhancedEncodingMode | DSRTypes::PF_printAnnotation |
+ DSRTypes::PF_printLongSOPClassName);
}
+
+ /* empty template is not valid */
+ library.clear();
+ OFCHECK(!library.isValid());
+ OFCHECK(!library.hasImageLibrary());
+ /* cannot add image group to empty template */
+ OFCHECK(library.addImageGroup().bad());
+ /* try again... */
+ OFCHECK(library.createNewImageLibrary().good());
+ OFCHECK(library.isValid());
+ OFCHECK(library.hasImageLibrary());
+ OFCHECK(library.addImageGroup().good());
}
{
CMR_SRNumericMeasurementValue numValue;
/* set coded entry from context group and check the value */
- OFCHECK(numValue.setNumericValueQualifier(CID42_NumericValueQualifier(CID42_NumericValueQualifier::NotANumber)).good());
+ OFCHECK(numValue.setNumericValueQualifier(CID42_NumericValueQualifier(CMR_CID42::NotANumber, OFTrue /*enhancedEncodingMode*/)).good());
OFCHECK(numValue.getNumericValueQualifier() == CODE_DCM_NotANumber);
+ OFCHECK(numValue.getNumericValueQualifier().usesEnhancedEncodingMode());
OFCHECK(numValue.isValid());
/* set coded entry from context group (using its type) and check the value */
- OFCHECK(numValue.setNumericValueQualifier(CID42_NumericValueQualifier::ValueUnknown).good());
+ OFCHECK(numValue.setNumericValueQualifier(CMR_CID42::ValueUnknown).good());
OFCHECK(numValue.getNumericValueQualifier() == CODE_DCM_ValueUnknown);
+ OFCHECK(!numValue.getNumericValueQualifier().usesEnhancedEncodingMode());
OFCHECK(numValue.isValid());
/* set numeric measurement value to tree node */
DSRNumTreeNode numNode(DSRTypes::RT_hasProperties);
OFCHECK(numValue.isValid());
OFCHECK(numValue.setNumericValueQualifier(DSRBasicCodedEntry("0815", "99TEST", "Some test code"), OFFalse /*check*/).good());
OFCHECK(!numValue.isValid());
+ /* check assignment operator */
+ numValue = DSRNumericMeasurementValue(CODE_DCM_NotANumber);
+ OFCHECK(numValue.isValid());
+}
+
+
+OFTEST(dcmsr_CMR_SRNumericMeasurementValueWithUnits_baselineGroup)
+{
+ /* start without a numeric value (but with a value qualifier) */
+ CMR_SRNumericMeasurementValueWithUnits<CMR_CID7181> numValue(CMR_CID42::NotANumber);
+ OFCHECK(numValue.isEmpty());
+ OFCHECK(numValue.isValid());
+ OFCHECK(numValue.getNumericValue().empty());
+ OFCHECK(numValue.getMeasurementUnit().isEmpty());
+ OFCHECK(!numValue.getNumericValueQualifier().isEmpty());
+ /* set numeric value and measurement unit (from given context group) */
+ OFCHECK(numValue.setValue("999", CMR_CID7181::Counts).good());
+ OFCHECK(!numValue.isEmpty());
+ OFCHECK(numValue.isValid());
+ OFCHECK_EQUAL(numValue.getNumericValue(), "999");
+ OFCHECK_EQUAL(numValue.getMeasurementUnit(), CMR_CID7181::getCodedEntry(CMR_CID7181::Counts));
+ /* set coded entry that is not part of the context group */
+ OFCHECK(numValue.setNumericValueQualifier(DSRBasicCodedEntry("0815", "99TEST", "Some test code"), OFTrue /*check*/).bad());
+}
+
+
+OFTEST(dcmsr_CMR_SRNumericMeasurementValueWithUnits_definedGroup)
+{
+ /* start with a numeric value that has an unknown measurement unit */
+ const DSRCodedEntryValue validUnit(CMR_CID7181::getCodedEntry(CMR_CID7181::Counts));
+ const DSRCodedEntryValue validQualifier(CMR_CID42::getCodedEntry(CMR_CID42::MeasurementFailure));
+ const DSRCodedEntryValue invalidUnit("0815", "99TEST", "Some test code");
+ const DSRCodedEntryValue invalidQualifier("4711", "99TEST", "Some other test code");
+ CMR_SRNumericMeasurementValueWithUnits<CMR_CID7181, OFTrue /*T_DefinedGroup*/> numValue("1.5", invalidUnit);
+ /* coded entry is not part of the defined context group (i.e. not set)*/
+ OFCHECK(numValue.isEmpty());
+ OFCHECK(numValue.isValid());
+ /* try with a valid (defined) measurement unit */
+ OFCHECK(numValue.setValue("1.5", CMR_CID7181::Counts).good());
+ OFCHECK(numValue.isValid());
+ /* try to disable the (extended) validity check */
+ OFCHECK(numValue.setValue("1.5", invalidUnit, invalidQualifier, OFFalse /*check*/).good());
+ OFCHECK(!numValue.isValid());
+ OFCHECK(numValue.isComplete());
+ OFCHECK_EQUAL(numValue.getMeasurementUnit(), invalidUnit);
+ /* finally, set the measurement unit and value qualifier manually */
+ OFCHECK(numValue.setMeasurementUnit(validUnit).good());
+ OFCHECK(numValue.setNumericValueQualifier(validQualifier).good());
+ OFCHECK(numValue.isValid());
}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#include "dcmtk/dcmsr/dsrcodvl.h"
+OFTEST(dcmsr_validCompleteOrEmptyCode)
+{
+ /* first, define some code constants (disable check if needed) */
+ const DSRCodedEntryValue code1("0815", "99TEST", "some test code");
+ const DSRCodedEntryValue code2("0816", "99TEST", "", DSRTypes::CVT_Short, OFFalse /*check*/);
+ const DSRCodedEntryValue code3("a little too long\\with VM>1", "99TEST", "some invalid test code", DSRTypes::CVT_Short, OFFalse /*check*/);
+ const DSRCodedEntryValue code4("", "", "");
+ /* then, perform some tests with these codes */
+ OFCHECK(code1.isValid());
+ OFCHECK(code1.isComplete());
+ OFCHECK(!code1.isEmpty());
+ OFCHECK(!code2.isValid());
+ OFCHECK(!code2.isComplete());
+ //OFCHECK(!code2.isEmpty()); // doesn't work because incomplete codes are never accepted
+ OFCHECK(!code3.isValid());
+ OFCHECK(code3.isComplete());
+ OFCHECK(!code3.isEmpty());
+ OFCHECK(!code4.isValid());
+ OFCHECK(!code4.isComplete());
+ OFCHECK(code4.isEmpty());
+}
+
+
OFTEST(dcmsr_setCodeValueType)
{
/* first, try the standard case (short code value) */
DSRCodedEntryValue codedEntry("121206", "DCM", "Distance");
OFCHECK(codedEntry == DSRCodedEntryValue("121206", "DCM", "Wrong meaning"));
OFCHECK(!(codedEntry == DSRCodedEntryValue("" /*empty*/, "DCM", "Distance")));
+ OFCHECK(codedEntry != DSRCodedEntryValue("" /*empty*/, "DCM", "Distance"));
}
/*
*
- * Copyright (C) 2014-2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2014-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
/* and, try to change the document type */
OFCHECK(doc.changeDocumentType(DSRTypes::DT_BasicTextSR).bad());
OFCHECK(doc.changeDocumentType(DSRTypes::DT_EnhancedSR).bad());
- OFCHECK(doc.changeDocumentType(DSRTypes::DT_ColonCadSR).bad());
+ OFCHECK(doc.changeDocumentType(DSRTypes::DT_XRayRadiationDoseSR).bad());
OFCHECK(doc.changeDocumentType(DSRTypes::DT_Comprehensive3DSR).good());
OFCHECK(doc.changeDocumentType(DSRTypes::DT_ComprehensiveSR).good());
}
/*
*
- * Copyright (C) 2014-2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2014-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#include "dcmtk/ofstd/oftest.h"
#include "dcmtk/dcmsr/dsrdoc.h"
+#include "dcmtk/dcmsr/dsrtpltn.h"
#include "dcmtk/dcmsr/dsrnumtn.h"
#include "dcmtk/dcmsr/dsrtextn.h"
-OFTEST(dcmsr_addContentItem)
+OFTEST(dcmsr_addContentItem_1)
{
/* first, create an SR document to get an empty SR tree */
DSRDocument doc(DSRTypes::DT_ComprehensiveSR);
}
+OFTEST(dcmsr_addContentItem_2)
+{
+ /* first, create an empty document subtree */
+ DSRDocumentSubTree tree;
+ /* then, try to add some invalid content items */
+ OFCHECK(tree.addContentItem(DSRTypes::createDocumentTreeNode(DSRTypes::RT_hasProperties, DSRTypes::VT_byReference), DSRTypes::AM_afterCurrent, OFTrue /*deleteIfFail*/).bad());
+ OFCHECK(tree.addContentItem(new DSRIncludedTemplateTreeNode(DSRSharedSubTemplate(NULL), DSRTypes::RT_contains), DSRTypes::AM_afterCurrent, OFTrue /*deleteIfFail*/).bad());
+}
+
+
OFTEST(dcmsr_copyContentItem)
{
/* first, create a new SR document */
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
OFTEST(dcmsr_setNumericMeasurementValue)
{
DSRNumericMeasurementValue numValue;
+ OFCHECK(numValue.isEmpty());
+ OFCHECK(numValue.isValid());
+ OFCHECK(!numValue.isComplete());
/* set valid coded entry */
OFCHECK(numValue.setValue("", DSRCodedEntryValue(), OFTrue /*check*/).good());
+ OFCHECK(numValue.isEmpty());
OFCHECK(numValue.isValid());
- OFCHECK(numValue.setValue("", DSRCodedEntryValue(), CODE_DCM_NotANumber, OFTrue /*check*/).good());
+ OFCHECK(!numValue.isComplete());
+ OFCHECK(numValue.setValue(CODE_DCM_NotANumber, OFTrue /*check*/).good());
+ OFCHECK(numValue.isEmpty());
OFCHECK(numValue.isValid());
+ OFCHECK(numValue.isComplete());
OFCHECK(numValue.setValue("1.5", DSRBasicCodedEntry("cm", "UCUM", "1.4", "centimeter"), OFTrue /*check*/).good());
+ OFCHECK(!numValue.isEmpty());
OFCHECK(numValue.isValid());
+ OFCHECK(numValue.isComplete());
OFCHECK(numValue.setValue("99999", DSRBasicCodedEntry("cm", "UCUM", "1.4", "centimeter"), CODE_DCM_ValueOutOfRange, OFTrue /*check*/).good());
+ OFCHECK(!numValue.isEmpty());
OFCHECK(numValue.isValid());
- /* set invalid coded entry */
+ OFCHECK(numValue.isComplete());
+ /* set invalid coded entry (should fail) */
OFCHECK(numValue.setValue("1.5", DSRCodedEntryValue(), CODE_DCM_NotANumber, OFFalse /*check*/).bad());
OFCHECK(numValue.setValue("", DSRBasicCodedEntry("0815", "99TEST", "Some test code"), CODE_DCM_NotANumber, OFFalse /*check*/).bad());
+ /* clear coded entry */
+ numValue.clear();
+ OFCHECK(numValue.isEmpty());
+ OFCHECK(numValue.isValid());
+ OFCHECK(!numValue.isComplete());
}
/*
*
- * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany
+ * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
#include "dcmtk/ofstd/oftest.h"
#include "dcmtk/dcmsr/dsrdoc.h"
+#include "dcmtk/dcmsr/dsrdocst.h"
#include "dcmtk/dcmsr/dsrrtpl.h"
#include "dcmtk/dcmsr/dsrstpl.h"
-/* minimal test class for root templates (Basic Diagnostic Imaging Report) */
+/* minimal test class for root template (Basic Diagnostic Imaging Report) */
class SRTestTemplate2000
: public DSRRootTemplate
{
public:
SRTestTemplate2000()
- : DSRRootTemplate(DSRTypes::DT_BasicTextSR, "2000", "DCMR", UID_DICOMContentMappingResource)
+ : DSRRootTemplate(DT_BasicTextSR, "2000", "DCMR", UID_DICOMContentMappingResource)
{
/* make sure that at least the root CONTAINER is there */
- addContentItem(RT_isRoot, VT_Container);
+ OFCHECK(addContentItem(RT_isRoot, VT_Container) > 0);
}
};
-/* minimal test class for sub-templates (Person Observer Identifying Attributes) */
+/* minimal test class for sub-template (Person Observer Identifying Attributes) */
class SRTestTemplate1003
: public DSRSubTemplate
{
{
setExtensible();
/* make sure that at least the PNAME content item is there */
- addContentItem(RT_unknown, VT_PName, DSRCodedEntryValue("121008", "DCM", "Person Observer Name"));
+ OFCHECK(addContentItem(RT_unknown, VT_PName, DSRCodedEntryValue("121008", "DCM", "Person Observer Name")).good());
}
};
-/* minimal test class for sub-templates (Planar ROI Measurements) */
+/* minimal test class for sub-template (Planar ROI Measurements) */
class SRTestTemplate1410
: public DSRSubTemplate
{
{
setExtensible();
/* make sure that at least the "root" CONTAINER is there */
- addContentItem(RT_unknown, VT_Container, DSRCodedEntryValue("125007", "DCM", "Measurement Group"));
+ OFCHECK(addContentItem(RT_unknown, VT_Container, DSRCodedEntryValue("125007", "DCM", "Measurement Group")).good());
+ /* ... and two mandatory child nodes */
+ OFCHECK(addChildContentItem(RT_hasObsContext, VT_Text, DSRCodedEntryValue("112039", "DCM", "Tracking Identifier")).good());
+ OFCHECK(addContentItem(RT_hasObsContext, VT_UIDRef, DSRCodedEntryValue("112040", "DCM", "Tracking Unique Identifier")).good());
+ }
+};
+
+/* minimal test class for root template with included templates (Measurement Report) */
+class SRTestTemplate1500
+ : public DSRRootTemplate
+{
+
+ public:
+
+ SRTestTemplate1500()
+ : DSRRootTemplate(DT_EnhancedSR, "1500", "DCMR", UID_DICOMContentMappingResource)
+ {
+ /* make sure that at least the root CONTAINER is there */
+ OFCHECK(addContentItem(RT_isRoot, VT_Container, DSRCodedEntryValue("126000", "DCM", "Imaging Measurement Report")).good());
+ /* ... and include two sub-templates */
+ OFCHECK(includeTemplate(DSRSharedSubTemplate(new SRTestTemplate1003()), AM_belowCurrent, RT_hasObsContext).good());
+ OFCHECK(includeTemplate(DSRSharedSubTemplate(new SRTestTemplate1410()), AM_afterCurrent, RT_contains).good());
+ }
+};
+
+/* minimal test class for template with by-reference relationship (Measurement Group) */
+class SRTestTemplate1501
+ : public DSRSubTemplate
+{
+
+ public:
+
+ SRTestTemplate1501()
+ : DSRSubTemplate("1501", "DCMR", UID_DICOMContentMappingResource)
+ {
+ setExtensible();
+ /* make sure that at least the top-level CONTAINER is there */
+ OFCHECK(addContentItem(RT_contains, VT_Container, DSRCodedEntryValue("125007,", "DCM", "Measurement Group")).good());
+ /* ... and add two measurements, one referring to the other */
+ OFCHECK(addChildContentItem(RT_contains, VT_Num, DSRCodedEntryValue("12345", "99TEST", "Some Measurement")).good());
+ const size_t nodeID = getNodeID();
+ OFCHECK(addContentItem(RT_contains, VT_Num, DSRCodedEntryValue("09876", "99TEST", "Some other Measurement")).good());
+ OFCHECK(addByReferenceRelationship(RT_inferredFrom, nodeID) > 0);
+ /* update by-reference relationships (prepare for cloning) */
+ OFCHECK(updateByReferenceRelationships().good());
+ }
+};
+
+
+/* minimal test class for included sub-template with contained by-reference relationship */
+class SRTestTemplate1410with1501
+ : public DSRSubTemplate
+{
+
+ public:
+
+ SRTestTemplate1410with1501()
+ : DSRSubTemplate("1410", "DCMR")
+ {
+ setExtensible();
+ /* insert sub-template some content items */
+ OFCHECK(insertTemplate(SRTestTemplate1410(), AM_belowCurrent, RT_contains).good());
+ /* include sub-template with by-reference relationship */
+ OFCHECK(includeTemplate(DSRSharedSubTemplate(new SRTestTemplate1501()), AM_belowCurrent, RT_contains).good());
+ }
+};
+
+
+/* minimal test class for root template with the mandatory CONTAINER */
+class SRTestRootTemplate
+ : public DSRRootTemplate
+{
+
+ public:
+
+ SRTestRootTemplate()
+ : DSRRootTemplate(DT_ComprehensiveSR, "0815", "99TEST")
+ {
+ setExtensible();
+ /* make sure that at least the root CONTAINER is there */
+ OFCHECK(addContentItem(RT_isRoot, VT_Container, DSRCodedEntryValue("1234", "99TEST", "Some test code")).good());
}
};
OFCHECK(templ.isRootTemplate());
OFCHECK(!templ.isExtensible());
/* replace the document tree with the content of the template */
- OFCHECK(doc.setTreeFromRootTemplate(templ).good());
+ OFCHECK(doc.setTreeFromRootTemplate(templ, OFFalse /*expandTree*/).good());
/* and perform some further checks */
OFCHECK_EQUAL(doc.getDocumentType(), DSRTypes::DT_BasicTextSR);
OFCHECK_EQUAL(doc.getTree().countNodes(), 1);
- OFString templID, mapResource;
- OFCHECK(doc.getTree().getTemplateIdentification(templID, mapResource).good());
- OFCHECK_EQUAL(templID, "2000");
- OFCHECK_EQUAL(mapResource, "DCMR");
+ OFCHECK(doc.getTree().compareTemplateIdentification("2000", "DCMR"));
+ OFCHECK(doc.getTree().compareTemplateIdentification("2000", "DCMR", UID_DICOMContentMappingResource));
+ OFCHECK(!doc.getTree().compareTemplateIdentification("200", "DCMR"));
+ OFCHECK(!doc.getTree().compareTemplateIdentification("2000", "DCM"));
}
OFCHECK_EQUAL(doc.getTree().countNodes(), 0);
OFCHECK_EQUAL(tree.getDocumentType(), DSRTypes::DT_EnhancedSR);
OFCHECK_EQUAL(tree.countNodes(), 0);
- OFCHECK_EQUAL(templ.countNodes(), 1);
+ OFCHECK_EQUAL(templ.countNodes(), 3);
OFCHECK_EQUAL(templ.getTemplateIdentifier(), "1410");
OFCHECK_EQUAL(templ.getMappingResource(), "DCMR");
OFCHECK_EQUAL(templ.getMappingResourceUID(), "");
OFCHECK(doc.setTree(tree).good());
/* finally, perform some further checks */
OFCHECK_EQUAL(doc.getDocumentType(), DSRTypes::DT_EnhancedSR);
- OFCHECK_EQUAL(doc.getTree().countNodes(), 1);
- OFString templID, mapResource;
- OFCHECK(doc.getTree().getTemplateIdentification(templID, mapResource).good());
- OFCHECK_EQUAL(templID, "1410");
- OFCHECK_EQUAL(mapResource, "DCMR");
+ OFCHECK_EQUAL(doc.getTree().countNodes(), 3);
+ OFCHECK(doc.getTree().compareTemplateIdentification("1410", "DCMR"));
}
OFCHECK_EQUAL(templ1.countNodes(), 2);
OFCHECK_EQUAL(templ2.countNodes(), 1);
/* replace the document tree with the content of the template */
- OFCHECK(doc.setTreeFromRootTemplate(templ1).good());
+ OFCHECK(doc.setTreeFromRootTemplate(templ1, OFFalse /*expandTree*/).good());
/* and perform some further checks */
OFCHECK_EQUAL(doc.getDocumentType(), DSRTypes::DT_BasicTextSR);
OFCHECK_EQUAL(doc.getTree().countNodes(), 2);
- OFString templID, mapResource;
- OFCHECK(doc.getTree().getTemplateIdentification(templID, mapResource).good());
- OFCHECK_EQUAL(templID, "2000");
- OFCHECK_EQUAL(mapResource, "DCMR");
+ OFCHECK(doc.getTree().compareTemplateIdentification("2000", "DCMR"));
+}
+
+
+OFTEST(dcmsr_createExpandedTree)
+{
+ /* first, create an empty SR document */
+ DSRDocument doc(DSRTypes::DT_ComprehensiveSR);
+ /* then, create an almost empty "Measurement Report" (TID 1500) */
+ SRTestTemplate1500 templ;
+ OFCHECK_EQUAL(templ.countNodes(), 3);
+ /* and set its content as the document tree (with expanded sub-templates) */
+ OFCHECK(doc.getTree().isEmpty());
+ OFCHECK(doc.setTreeFromRootTemplate(templ, OFTrue /*expandTree*/).good());
+ OFCHECK(doc.getTree().isExpandedDocumentTree());
+ OFCHECK_EQUAL(doc.getTree().countNodes(), 5);
+ /* do the same without expanding the (included) sub-templates */
+ OFCHECK(doc.setTreeFromRootTemplate(templ, OFFalse /*expandTree*/).good());
+ OFCHECK(!doc.getTree().isExpandedDocumentTree());
+ OFCHECK_EQUAL(doc.getTree().countNodes(), 3);
+ /* and perform some further checks */
+ OFCHECK_EQUAL(doc.getDocumentType(), DSRTypes::DT_EnhancedSR);
+ OFCHECK(doc.getTree().compareTemplateIdentification("1500", "DCMR"));
+}
+
+
+OFTEST(dcmsr_templateWithByReferenceRelationship_1)
+{
+ /* first, create an almost empty "Planar ROI Measurements" (TID 1410) */
+ SRTestTemplate1410 templ;
+ /* insert sub-template with by-reference relationship */
+ OFCHECK(templ.insertTemplate(SRTestTemplate1501(), DSRTypes::AM_afterCurrent, DSRTypes::RT_contains).good());
+ /* then, go to the source content item of the by-reference relationship */
+ OFCHECK(templ.gotoNamedNode(DSRCodedEntryValue("09876", "99TEST", "Some other Measurement")) > 0);
+ /* check whether the correct content item has been found */
+ OFCHECK(templ.getCurrentContentItem().getValueType() == DSRTypes::VT_Num);
+ /* and, finally, check whether the by-reference relationship is still valid */
+ OFCHECK(templ.gotoChild() > 0);
+ OFCHECK(templ.getCurrentContentItem().getValueType() == DSRTypes::VT_byReference);
+ OFCHECK(templ.getCurrentContentItem().getReferencedNodeID() > 0);
+
+ // tbd: by-reference relationships do not yet work correctly if contained
+ // in an "included template" content item, i.e. in a nested subtree
+}
+
+
+OFTEST(dcmsr_templateWithByReferenceRelationship_2)
+{
+ DSRDocument doc;
+ /* first, create a sub-template with included sub-template */
+ SRTestTemplate1410with1501 subTempl;
+ OFCHECK_EQUAL(subTempl.countNodes(), 4);
+ OFCHECK_EQUAL(subTempl.countNodes(OFTrue /*searchIntoSubTemplates*/, OFFalse /*countIncludedTemplateNodes*/), 7);
+ /* then, create a root template with a CONTAINER content item */
+ SRTestRootTemplate rootTempl;
+ OFCHECK_EQUAL(rootTempl.countNodes(), 1);
+ /* and insert the sub-template into it */
+ OFCHECK(rootTempl.insertTemplate(subTempl).good());
+ OFCHECK_EQUAL(rootTempl.countNodes(), 5);
+ OFCHECK_EQUAL(rootTempl.countNodes(OFTrue /*searchIntoSubTemplates*/, OFFalse /*countIncludedTemplateNodes*/), 8);
+ /* finally, set its content as the document tree */
+ OFCHECK(doc.setTreeFromRootTemplate(rootTempl, OFTrue /*expandTree*/).good());
+ OFCHECK_EQUAL(doc.getTree().countNodes(), 8);
+
+ // tbd: by-reference relationships do not yet work correctly if contained
+ // in an "included template" content item, i.e. in a nested subtree
}
/*
*
- * Copyright (C) 2012-2015, OFFIS e.V.
+ * Copyright (C) 2012-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/* and, insert the new tree (i.e. add its first node) into the other one */
OFCHECK_EQUAL(tree.gotoNode(nodeID + 1), nodeID + 1);
OFCHECK_EQUAL(tree.addNode(newTree.getAndRemoveRootNode(), DSRTypes::AM_afterCurrent), nodeID + 3);
- /* check resulting tree */
OFCHECK_EQUAL(tree.countNodes(), 6);
+ /* check resulting tree */
OFCHECK_EQUAL(tree.gotoRoot(), nodeID + 0);
OFCHECK_EQUAL(tree.iterate(), nodeID + 1);
OFCHECK_EQUAL(tree.iterate(), nodeID + 3);
OFCHECK_EQUAL(tree.addNode(newTree.getAndRemoveRootNode(), DSRTypes::AM_beforeCurrent), nodeID + 3);
OFCHECK_EQUAL(tree.countNodes(), 6);
/* check resulting tree */
- OFCHECK_EQUAL(tree.countNodes(), 6);
OFCHECK_EQUAL(tree.gotoRoot(), nodeID + 0);
OFCHECK_EQUAL(tree.iterate(), nodeID + 3);
OFCHECK_EQUAL(tree.iterate(), nodeID + 4);
OFCHECK_EQUAL(tree.addNode(newTree.getAndRemoveRootNode(), DSRTypes::AM_belowCurrent), nodeID + 3);
OFCHECK_EQUAL(tree.countNodes(), 6);
/* check resulting tree */
- OFCHECK_EQUAL(tree.countNodes(), 6);
OFCHECK_EQUAL(tree.gotoRoot(), nodeID + 0);
OFCHECK_EQUAL(tree.iterate(), nodeID + 1);
OFCHECK_EQUAL(tree.iterate(), nodeID + 2);
OFCHECK_EQUAL(tree.addNode(newTree.getAndRemoveRootNode(), DSRTypes::AM_belowCurrentBeforeFirstChild), nodeID + 3);
OFCHECK_EQUAL(tree.countNodes(), 6);
/* check resulting tree */
- OFCHECK_EQUAL(tree.countNodes(), 6);
OFCHECK_EQUAL(tree.gotoRoot(), nodeID + 0);
OFCHECK_EQUAL(tree.iterate(), nodeID + 3);
OFCHECK_EQUAL(tree.iterate(), nodeID + 4);
}
+OFTEST(dcmsr_addTreeNode_6)
+{
+ DSRTree<> tree;
+ const size_t nodeID = tree.getNextNodeID();
+ OFCHECK_EQUAL(tree.countNodes(), 0);
+ /* first, create a simple tree of 3 nodes and check the references */
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode()), nodeID + 0);
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode(), DSRTypes::AM_belowCurrent), nodeID + 1);
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode(), DSRTypes::AM_afterCurrent), nodeID + 2);
+ OFCHECK_EQUAL(tree.countNodes(), 3);
+ /* then, create another tree with 3 node on the same level */
+ DSRTree<> newTree;
+ OFCHECK_EQUAL(newTree.addNode(new DSRTreeNode()), nodeID + 3);
+ OFCHECK_EQUAL(newTree.addNode(new DSRTreeNode(), DSRTypes::AM_afterCurrent), nodeID + 4);
+ OFCHECK_EQUAL(newTree.addNode(new DSRTreeNode(), DSRTypes::AM_afterCurrent), nodeID + 5);
+ OFCHECK_EQUAL(newTree.countNodes(), 3);
+ /* and, insert the new tree before the root node of the other one */
+ OFCHECK_EQUAL(tree.gotoRoot(), nodeID + 0);
+ OFCHECK_EQUAL(tree.addNode(newTree.getAndRemoveRootNode(), DSRTypes::AM_beforeCurrent), nodeID + 3);
+ OFCHECK_EQUAL(tree.countNodes(), 6);
+ /* check resulting tree (should have a new root node now) */
+ OFCHECK_EQUAL(tree.gotoRoot(), nodeID + 3);
+}
+
+
+OFTEST(dcmsr_replaceTreeNode)
+{
+ DSRTree<> tree;
+ const size_t nodeID = tree.getNextNodeID();
+ OFCHECK_EQUAL(tree.countNodes(), 0);
+ /* first, create a simple tree of 6 nodes and check the references */
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode()), nodeID + 0);
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode(), DSRTypes::AM_belowCurrent), nodeID + 1);
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode(), DSRTypes::AM_afterCurrent), nodeID + 2);
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode(), DSRTypes::AM_afterCurrent), nodeID + 3);
+ OFCHECK_EQUAL(tree.gotoPrevious(), nodeID + 2);
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode(), DSRTypes::AM_belowCurrent), nodeID + 4);
+ OFCHECK_EQUAL(tree.addNode(new DSRTreeNode(), DSRTypes::AM_afterCurrent), nodeID + 5);
+ OFCHECK_EQUAL(tree.gotoPrevious(), nodeID + 4);
+ OFCHECK_EQUAL(tree.goUp(), nodeID + 2);
+ OFCHECK_EQUAL(tree.gotoPrevious(), nodeID + 1);
+ OFCHECK_EQUAL(tree.goUp(), nodeID + 0);
+ OFCHECK_EQUAL(tree.countNodes(), 6);
+ /* then, replace one of the nodes */
+ OFCHECK_EQUAL(tree.gotoNode(nodeID + 2), nodeID + 2);
+ OFCHECK_EQUAL(tree.replaceNode(new DSRTreeNode()), nodeID + 6);
+ /* a subtree of 3 nodes has been replaced by 1 node */
+ OFCHECK_EQUAL(tree.countNodes(), 4);
+ /* finally, replace the root node */
+ OFCHECK_EQUAL(tree.gotoRoot(), nodeID + 0);
+ OFCHECK_EQUAL(tree.replaceNode(new DSRTreeNode()), nodeID + 7);
+ OFCHECK_EQUAL(tree.countNodes(), 1);
+}
+
+
OFTEST(dcmsr_getPosition)
{
DSRTree<> tree;
OFCHECK_EQUAL(tree.gotoNode(DSRTreeNodeAnnotation("bastard")), 0 /* not found */);
OFCHECK_EQUAL(tree.gotoNode(DSRTreeNodeAnnotation("first child")), nodeID + 1);
/* clear annotation of current node and try again */
- DSRTreeNode *node = tree.getNode();
- if (node!= NULL)
- node->clearAnnotation();
+ if (tree.isValid())
+ tree.getNode()->clearAnnotation();
else
OFCHECK_FAIL("could not get current node");
OFCHECK_EQUAL(tree.gotoNode(DSRTreeNodeAnnotation("first child")), 0 /* not found */);
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/dcmtls/tlstrans.h \
../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \
../../dcmnet/include/dcmtk/dcmnet/dicom.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
../../dcmdata/include/dcmtk/dcmdata/dcswap.h \
../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../../dcmnet/include/dcmtk/dcmnet/dcompat.h \
../../ofstd/include/dcmtk/ofstd/ofbmanip.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
- ../../dcmnet/include/dcmtk/dcmnet/dcompat.h
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dcompat.h \
+ ../../dcmnet/include/dcmtk/dcmnet/diutil.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \
+ ../../dcmnet/include/dcmtk/dcmnet/cond.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \
+ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dclist.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \
+ ../../dcmnet/include/dcmtk/dcmnet/lst.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dul.h \
+ ../../dcmnet/include/dcmtk/dcmnet/extneg.h \
+ ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \
+ ../../dcmnet/include/dcmtk/dcmnet/assoc.h
#include "dcmtk/dcmtls/tlstrans.h"
#include "dcmtk/dcmtls/tlslayer.h"
#include "dcmtk/dcmnet/dcompat.h" /* to make sure we have a select prototype */
+#include "dcmtk/dcmnet/diutil.h"
DcmTLSConnection::DcmTLSConnection(int openSocket, SSL *newTLSConnection)
#else
nfound = select(getSocket() + 1, &fdset, NULL, NULL, &t);
#endif
+ if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL))
+ {
+ DU_logSelectResult(nfound);
+ }
if (nfound <= 0) return OFFalse;
else
{
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \
../../dcmdata/include/dcmtk/dcmdata/dcitem.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \
../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \
+ ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \
../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \
../include/dcmtk/dcmwlm/wlfsim.h
wlmactmg.o: wlmactmg.cc ../../config/include/dcmtk/config/osconfig.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../include/dcmtk/dcmwlm/wltypdef.h \
../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \
../../ofstd/include/dcmtk/ofstd/offile.h \
../../ofstd/include/dcmtk/ofstd/ofstd.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../dcmdata/include/dcmtk/dcmdata/dcuid.h \
../../dcmnet/include/dcmtk/dcmnet/dul.h \
../../ofstd/include/dcmtk/ofstd/ofglobal.h \
Changes between releases are documented here.
+**** Changes from 2016.02.16 (schlamelcher)
+
+- Updated CHANGES.361 for new development snapshot.
+ Affects: docs/CHANGES.361
+
+- Updated DCMTK_ABI_VERSION for new development snapshot.
+ Affects: CMake/dcmtkPrepare.cmake
+
+- Updated man pages for new development snapshot.
+ Affects: doxygen/manpages/man1/dcm2pdf.1
+ doxygen/manpages/man1/dcm2pnm.1
+ doxygen/manpages/man1/dcm2xml.1
+ doxygen/manpages/man1/dcmcjpeg.1
+ doxygen/manpages/man1/dcmcjpls.1
+ doxygen/manpages/man1/dcmconv.1
+ doxygen/manpages/man1/dcmcrle.1
+ doxygen/manpages/man1/dcmdjpeg.1
+ doxygen/manpages/man1/dcmdjpls.1
+ doxygen/manpages/man1/dcmdrle.1
+ doxygen/manpages/man1/dcmdspfn.1
+ doxygen/manpages/man1/dcmdump.1
+ doxygen/manpages/man1/dcmftest.1
+ doxygen/manpages/man1/dcmgpdir.1
+ doxygen/manpages/man1/dcmj2pnm.1
+ doxygen/manpages/man1/dcml2pnm.1
+ doxygen/manpages/man1/dcmmkcrv.1
+ doxygen/manpages/man1/dcmmkdir.1
+ doxygen/manpages/man1/dcmmklut.1
+ doxygen/manpages/man1/dcmodify.1
+ doxygen/manpages/man1/dcmp2pgm.1
+ doxygen/manpages/man1/dcmprscp.1
+ doxygen/manpages/man1/dcmprscu.1
+ doxygen/manpages/man1/dcmpschk.1
+ doxygen/manpages/man1/dcmpsmk.1
+ doxygen/manpages/man1/dcmpsprt.1
+ doxygen/manpages/man1/dcmpsrcv.1
+ doxygen/manpages/man1/dcmpssnd.1
+ doxygen/manpages/man1/dcmqridx.1
+ doxygen/manpages/man1/dcmqrscp.1
+ doxygen/manpages/man1/dcmqrti.1
+ doxygen/manpages/man1/dcmquant.1
+ doxygen/manpages/man1/dcmrecv.1
+ doxygen/manpages/man1/dcmscale.1
+ doxygen/manpages/man1/dcmsend.1
+ doxygen/manpages/man1/dcmsign.1
+ doxygen/manpages/man1/dcod2lum.1
+ doxygen/manpages/man1/dconvlum.1
+ doxygen/manpages/man1/drtdump.1
+ doxygen/manpages/man1/dsr2html.1
+ doxygen/manpages/man1/dsr2xml.1
+ doxygen/manpages/man1/dsrdump.1
+ doxygen/manpages/man1/dump2dcm.1
+ doxygen/manpages/man1/echoscu.1
+ doxygen/manpages/man1/findscu.1
+ doxygen/manpages/man1/getscu.1
+ doxygen/manpages/man1/img2dcm.1
+ doxygen/manpages/man1/movescu.1
+ doxygen/manpages/man1/pdf2dcm.1
+ doxygen/manpages/man1/storescp.1
+ doxygen/manpages/man1/storescu.1
+ doxygen/manpages/man1/termscu.1
+ doxygen/manpages/man1/wlmscpfs.1
+ doxygen/manpages/man1/xml2dcm.1
+ doxygen/manpages/man1/xml2dsr.1
+
+- Updated Makefile dependencies.
+ Affects: dcmiod/libsrc/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+
+**** Changes from 2016.02.15 (schlamelcher)
+
+- Added 'arith.h' to the list of installed files.
+ Affects: CMakeLists.txt
+ config/Makefile.in
+
+**** Changes from 2016.02.11 (riesmeier)
+
+- Updated documentation of setSpecificCharacterSet():
+ Updated API documentation of method setSpecificCharacterSet(), e.g. made
+ clear that multiple values are allowed and invalid values do not always
+ result in an error.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+- Enhanced description of "charset" parameter:
+ Enhanced description of "charset" parameter of the static function
+ checkStringValue(). Explain that only ASCII and Latin-1 are checked.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlo.h
+ dcmdata/include/dcmtk/dcmdata/dcvrlt.h
+ dcmdata/include/dcmtk/dcmdata/dcvrpn.h
+ dcmdata/include/dcmtk/dcmdata/dcvrsh.h
+ dcmdata/include/dcmtk/dcmdata/dcvrst.h
+ dcmdata/include/dcmtk/dcmdata/dcvruc.h
+ dcmdata/include/dcmtk/dcmdata/dcvrut.h
+
+**** Changes from 2016.02.11 (onken)
+
+- Fixed use of checkStringValue():
+ For some VR classes (DcmLongText, DcmShortText, DcmUnlimitedText) the method
+ checkStringValue() expects the character set as the second parameter and not
+ the VM as it is the case for most other VR classes. The related calls in
+ dcmiod, dcmfg and dcmseg did not respect this deviating API, thus requiring
+ the given fix which disables the value checking.
+ Affects: dcmfg/include/dcmtk/dcmfg/fgderimg.h
+ dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/libsrc/fgderimg.cc
+ dcmfg/libsrc/fgfracon.cc
+ dcmiod/include/dcmtk/dcmiod/iodmacro.h
+ dcmiod/include/dcmtk/dcmiod/modequipment.h
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/modequipment.cc
+ dcmiod/libsrc/modgeneralimage.cc
+ dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/libsrc/segtypes.cc
+
+- Added UID validity checking.
+ Affects: dcmseg/libsrc/segment.cc
+
+**** Changes from 2016.02.09 (riesmeier)
+
+- Added prefix "DCMTK_" to public macro:
+ Added prefix "DCMTK_" to public macro "EXPLICIT_SPECIALIZATION", which is
+ used for explicit template specialization. This name change should avoid
+ possible conflicts. Also moved the macro definition in the "dcmsr" module
+ to a header file and introduced protection against double definition.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dipxrept.h
+ dcmsr/include/dcmtk/dcmsr/dsdefine.h
+ dcmsr/libsrc/dsrimgfr.cc
+ dcmsr/libsrc/dsrimgse.cc
+ dcmsr/libsrc/dsrsc3gr.cc
+ dcmsr/libsrc/dsrscogr.cc
+ dcmsr/libsrc/dsrtcodt.cc
+ dcmsr/libsrc/dsrtcosp.cc
+ dcmsr/libsrc/dsrtcoto.cc
+ dcmsr/libsrc/dsrwavch.cc
+
+**** Changes from 2016.02.09 (eichelberg)
+
+- Fixed uninitialized struct in libcharls decoder:
+ Fixed unitialized struct in libcharls decoder that sometimes caused
+ the decoder to refuse correctly compressed bitstreams.
+ Thanks to Bruno Milutin <bmilutin@digithurst.de> for the bug report and fix.
+ Affects: dcmjpls/libcharls/header.cc
+
+**** Changes from 2016.02.08 (riesmeier)
+
+- Added comment on missing conditional attribute:
+ Added comment that the conditional attribute Pixel Origin Interpretation
+ (0048,0301) is not yet supported by the DSRSpatialCoordinatesValue class.
+ This attribute is required if the referenced SOP instance is a VL Whole
+ Slide Microscopy Image.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrscovl.h
+
+**** Changes from 2016.02.08 (onken)
+
+- Added support for Correction Proposal CP-1496:
+ Added Tracking ID and Tracking UID to Segmentation segments in order to allow
+ tracking of lesions or other observations over time. This change was introduced
+ in CP-1496.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/libsrc/segment.cc
+
+**** Changes from 2016.02.08 (riesmeier)
+
+- Fixed warnings when compiled without libxml:
+ Fixed various warnings on unused variables when compiled without libxml.
+ These warnings were reported by gcc 4.8.4 with additional flag "-Wextra".
+ Affects: dcmdata/apps/dcmdump.cc
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsrdump.cc
+ ofstd/libsrc/ofchrenc.cc
+
+**** Changes from 2016.02.07 (onken)
+
+- Fixed compiler warnings about unused parameters:
+ Fixed compiler warnings about unused method parameters by adding either dummy
+ uses, removing them from the parameter list (if possible, i.e. if not
+ overwriting a derived function) or adding the corresponding checks.
+ Also removed bonus functions which have still been marked as TODO.
+ Added: dcmseg/apps/CMakeLists.txt
+ Affects: dcmfg/include/dcmtk/dcmfg/fgfracon.h
+ dcmfg/include/dcmtk/dcmfg/fgframevoilut.h
+ dcmfg/include/dcmtk/dcmfg/fgpixmsr.h
+ dcmfg/include/dcmtk/dcmfg/fgplanposvol.h
+ dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h
+ dcmfg/libsrc/fgfracon.cc
+ dcmfg/libsrc/fgframevoilut.cc
+ dcmfg/libsrc/fgimagedatatype.cc
+ dcmfg/libsrc/fgpixmsr.cc
+ dcmfg/libsrc/fgplanposvol.cc
+ dcmfg/libsrc/fgrealworldvaluemapping.cc
+ dcmfg/libsrc/fgusimagedescription.cc
+ dcmiod/include/dcmtk/dcmiod/modenhusimage.h
+ dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
+ dcmiod/include/dcmtk/dcmiod/modimagepixel.h
+ dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h
+ dcmiod/include/dcmtk/dcmiod/modsynchronisation.h
+ dcmiod/libsrc/iodmacro.cc
+ dcmiod/libsrc/modenhusimage.cc
+ dcmiod/libsrc/modenhusseries.cc
+ dcmiod/libsrc/modgeneralseries.cc
+ dcmiod/libsrc/modimagepixel.cc
+ dcmiod/libsrc/modmultiframedimension.cc
+ dcmiod/libsrc/modsynchronization.cc
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+- Add Referenced Performed Procedure Step Sequence.
+ Affects: dcmiod/include/dcmtk/dcmiod/modgeneralseries.h
+ dcmiod/libsrc/modgeneralseries.cc
+
+- Removed broken, unused, doublette method.
+ Affects: dcmnet/include/dcmtk/dcmnet/dccftsmp.h
+ dcmnet/libsrc/dccftsmp.cc
+
+- Allow access to Referenced PPS.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/libsrc/segdoc.cc
+
+- Use position parameter.
+ Affects: dcmseg/libsrc/segment.cc
+
+**** Changes from 2016.02.05 (riesmeier)
+
+- Fixed various warnings reported by "gcc -Wextra":
+ Fixed various warnings on unused variables reported by gcc 4.8.4 with
+ additional flag "-Wextra".
+ Affects: dcmnet/libsrc/dstorscu.cc
+ dcmnet/libsrc/scp.cc
+ dcmrt/include/dcmtk/dcmrt/drmimage.h
+ dcmrt/libsrc/drtmas.cc
+ ofstd/libsrc/ofcmdln.cc
+ ofstd/libsrc/offile.cc
+ ofstd/libsrc/ofuuid.cc
+ ofstd/libsrc/ofxml.cc
+
+- Restructured print() output of included templates:
+ Removed printTemplate() method from DSRIncludedTemplateTreeNode since it is
+ not needed any longer. Also fixed numbering of content items in included
+ subtree (now depends on certain print flag).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Overwrite isShort() in DSRIncludedTemplateTreeNode:
+ Overwrite isShort() method in class DSRIncludedTemplateTreeNode. Since the
+ base class DSRDocumentTreeNode always returns OFTrue, it makes sense to
+ check the content in the derived tree node class. Of course, rendering a
+ document tree with "included templates" is currently not supported, so the
+ isShort() method is probably never really used in this context.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+
+- By default, convert wide char encoding to UTF-8:
+ Changed default value of parameter "convert" for both the constructor and
+ the set() method of the OFFilename class, which expects a "wchar_t *", from
+ "OFFalse" to "OFTrue". That means, a character string that is passed with
+ Windows UTF-16 encoding will be converted to UTF-8 (char *) encoding. This
+ change of the default behavior makes sense since e.g. the output of an
+ OFFilename instance to the logger always happens with UTF-8 encoding.
+ Affects: ofstd/include/dcmtk/ofstd/offile.h
+
+- Fixed documentation of convertToWideCharString():
+ Fixed documentation of parameter "toString" of convertToWideCharString():
+ the value of this result variable might only be NULL if memory is exhausted.
+ Affects: ofstd/include/dcmtk/ofstd/ofchrenc.h
+
+**** Changes from 2016.02.04 (riesmeier)
+
+- Changed print() output of included SR templates:
+ Slightly changed the output of the print() method for "included template"
+ tree nodes: The line indentation and output of the position counter is now
+ also shown for this "internal" node (and not only for the included subtree);
+ the position counter is increased by 1 as it is true for all other tree
+ nodes, which makes it easier and more consistent when determining the target
+ of by-reference relationships. However, there is still some work to do...
+ Also, the separate line for the included SR template (starting with the text
+ "# INCLUDE ...") is now printed by default. Therefore, the name of the print
+ flag changed from PF_printXXX to PF_hideXXX.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Further enhanced checkSubTreeConstraints():
+ Added initial support for "included templates" to checkSubTreeConstraints().
+ At least, subtrees with included SR templates are not rejected any longer.
+ However, since no further checks are performed, a message is reported to the
+ trace logger.
+ Also added a new test case in order to check whether "included templates" are
+ really accepted when inserting a sub-template into a root template (with an
+ appropriate IOD constraint checker enabled).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Improved check for valid reference to SR template:
+ Improved check for a valid reference (shared pointer) to the included SR
+ template that is managed by this document tree node class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrtpltn.cc
+
+- Enhanced documentation of constructor:
+ Added a comment to the constructor that the template identification is also
+ set if available from the referenced SR template.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+
+- Made all canXXX() methods constant:
+ Made methods canAddContentItem(), canAddByReferenceRelationship() and
+ canInsertSubTree() constant since they do not modify the object.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+**** Changes from 2016.02.03 (riesmeier)
+
+- Minor fixes to module page of "dcmsr".
+ Affects: dcmsr/docs/dcmsr.dox
+
+**** Changes from 2016.02.02 (riesmeier)
+
+- Use addContentItem() for by-value relations only:
+ Made clear that addContentItem() should be used for by-value relationships
+ only. This is now also checked and a new test case makes sure that it works.
+ Furthermore, do not accept the internal value type VT_includedTemplate for
+ this method. All this is checked by the helper method canAddContentItem().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrdoctr.cc
+
+- Reintroduced further methods from base class:
+ Added various hasXXX() methods and countChildNodes() from the base classes
+ to the derived template classes. All these methods are "constant", i.e. they
+ do not change the object.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+**** Changes from 2016.02.01 (riesmeier)
+
+- Enhanced support for by-reference relationships:
+ Further enhanced support for by-reference relationships, e.g. by restoring
+ these type of relationships on a clone of the document (sub)tree. Also report
+ details to the debug logger if adding a by-reference relationship fails (for
+ some reason). Finally, added an initial version of a new test case that should
+ make sure that by-reference relationships work with "included templates".
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added more iterator methods to template classes:
+ Added more of the iterator methods from the base classes to the derived
+ template classes, e.g. gotoRoot(), gotoChild(), gotoNext() or iterate().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+- Declared getParentNode() method "const":
+ Now that OFStack::top() exists in a "const" version, there is not reason
+ anymore not to declare the getParentNode() method "const". So just do it.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Added "const" version of OFStack::top():
+ Added "const" version of top() method to OFStack class as it is defined
+ for the standard (STL) class std::stack. Also fixed various documentation
+ related issues.
+ Affects: ofstd/include/dcmtk/ofstd/ofstack.h
+
+- Removed unneeded type definitions for Windows:
+ Removed unneeded type definitions introduced for calling functions from the
+ "SNMP Utility Library" (snmpapi.dll) on the Windows operating system.
+ Affects: dcmdata/libsrc/dcuid.cc
+
+- Fixed issue with getMACAddress() on Windows 8++:
+ Fixed issue with getMACAddress() on some Windows 8 (and newer) systems.
+ Removed unneeded call to SnmpExtensionQuery() that caused a crash on such
+ systems.
+ Thanks to forum user "andreasb" for the report and suggested fix, and to
+ forum user "Rich in Soquel" for confirming that this fix also solves an
+ issue on Windows 10.
+ Closes DCMTK Bug #594 (hopefully)
+ Affects: dcmdata/libsrc/dcuid.cc
+
+**** Changes from 2016.01.30 (riesmeier)
+
+- Extracted expandIncludedTemplates() method:
+ Extracted code from createExpandedSubTree() for the new protected method
+ expandIncludedTemplates(). This new method might be used in the future for
+ expanding the current (sub)tree, i.e. without creating a new one.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Never accept by-reference relations to templates:
+ Never accept by-reference relationships to internal "included template"
+ content items. This check might be useful for future SR templates that
+ are implemented as part of the "dcmsr/cmr" submodule.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+**** Changes from 2016.01.29 (riesmeier)
+
+- Overwrite print() method in document tree class:
+ Overwrite print() method from base class (DSRDocumentSubTree) in document
+ tree class in order to hide additional parameter(s) on the main API level.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Further enhanced support for included templates:
+ Enhanced support for included (non-expanded) templates in print() method of
+ document (sub)tree class. Now, the position counter of nested content items
+ also works correctly for these "virtual" content items (i.e. with included
+ subtrees). Also the complexity of the print() method code could be reduced.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Extracted position counter from cursor class:
+ Extracted a new DSRPositionCounter class from the existing DSRTreeNodeCursor
+ class. This will allow for enhancing the print() method of the document (sub)
+ tree class, especially with regard to the support of included templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrposcn.h
+ dcmsr/libsrc/dsrposcn.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/tests/Makefile.dep
+
+- Declared some very simple methods "inline".
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+
+- Use consistent spelling of the word "data set":
+ Made sure that the spelling of the word "data set" is consistent (i.e. not
+ "dataset") at least for the log messages of the main DICOM parser classes.
+ Also fixed typos if encountered.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcelem.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+
+- Added a warning on invalid attribute tags:
+ Added a warning message on invalid DICOM elements in a dataset or item,
+ i.e. elements with an attribute tag of the group 0x0000 to 0x0003, 0x0005,
+ 0x0007 or 0xFFFF. Now, for both file meta information header and dataset
+ a warning is reported.
+ Thanks to Mathieu Malaterre <mathieu.malaterre@gmail.com> for the original
+ reports and a sample DICOM file.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2016.01.27 (riesmeier)
+
+- Fixed issue with addPersonObserver() in TID 1001:
+ Fixed issue when calling addPersonObserver() in TID1001_ObservationContext
+ for the first time _after_ addDeviceObserver() has already been called.
+ According to the SR template specification, the person observers always have
+ to be stored at the beginning of the subtree of the SR template, i.e. the
+ root node changes in such a case. Modified the test case accordingly.
+ Also see previous commit that fixes an issue on the basic tree class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Fixed issue in addNode() of basic tree class:
+ Fixed issue in addNode() method of basic tree class, which occurred when
+ adding a node or subtree before the root node of the current tree. Added
+ new test case in order to make sure that this never happens again.
+ This issue has been found when adding a "Device Observer" before a "Person
+ Observer" in TID 1001 (Observation Context). Also see next commit.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added another test for invalid unique identifiers.
+ Affects: dcmdata/tests/tchval.cc
+
+**** Changes from 2016.01.26 (riesmeier)
+
+- Updated Makefile dependencies.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmfg/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/tests/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+
+- Further enhanced example on included templates:
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/docs/dcmsr.dox
+
+- Added more header files to Doxygen documentation:
+ Added header files with global definitions (in this case, transfer syntaxes
+ and value representations) to the list of files that are processed by Doxygen.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/include/dcmtk/dcmdata/dcxfer.h
+
+- Added new output flag for writeXML():
+ Added new output flag XF_addCommentsForIncludedTemplate for writeXML(), which
+ allows for identifying the beginning and the end of included (non-expanded)
+ templates by means of corresponding XML comments. This might be useful for
+ debugging purposes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtpltn.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added support for new Media Application Profiles:
+ Added support for new Media Storage Application Profiles that were
+ introduced with Supplement 180 (MPEG-4 AVC/H.264 Transfer Syntax):
+ General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.2
+ for 2D video, for 3D video and stereo (STD-GEN-BD-MPEG4-HPLV42-2D,
+ STD-GEN-BD-MPEG4-HPLV42-3D, STD-GEN-BD-MPEG4-SHPLV42).
+ Closes DCMTK Conformance #641 and #643.
+ Affects: dcmdata/apps/dcmgpdir.cc
+ dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmjpeg/docs/dcmmkdir.man
+
+- Added support for Direcory Record Type "TRACT":
+ Added support for new Directory Record Type "TRACT", which has been
+ introduced with Supplement 181 (Tractography Results Storage SOP Class).
+ Closes DCMTK Conformance #664.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcddirif.h
+ dcmdata/include/dcmtk/dcmdata/dcdirrec.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcdirrec.cc
+
+- Fixed copying of tracking information (TID 1411):
+ Fixed copying of tracking information from a referenced segmentation object:
+ According to CP-1496 the Tracking ID and Tracking UID are stored in an item
+ in the Segment Sequence, so further code is needed to find the appropriate
+ item. Also adapted the test case accordingly.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added new variant of setRealWorldValueMap():
+ Added new variant of adding/setting a real world value map to the template
+ (TID 1411 - Row 14). SOP Class UID and SOP Instance UID are copied from a
+ given DICOM dataset (similar to setReferencedSegment() which has been added
+ by the previous commit).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2016.01.25 (riesmeier)
+
+- Added new variant of setReferencedSegment():
+ Added new variant of adding/setting a referenced segment to the template
+ (TID 1411 - Row 7). According to CP-1494 the Tracking ID and Tracking UID
+ should be consistent with the corresponding element values of the referenced
+ DICOM dataset (if present).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Fixed references to DICOM Correct Items (CP-xxx).
+ Affects: dcmsr/libcmr/tid1600.cc
+ dcmsr/libsrc/dsrbascc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrenhcc.cc
+ dcmsr/libsrc/dsrxrdcc.cc
+ dcmsr/tests/mkreport.cc
+
+- Added support for "Station AE Title" to TID 1004:
+ Added support for new optional content item "Station AE Title" to TID 1004
+ (Device Observer Identifying Attributes). Also added required code definition
+ to "DCM" coding scheme. These changes were introduced with CP-1516.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+ dcmsr/libcmr/tid1001.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added support for recently approved CPs:
+ Added support for CP-1460, CP-1496, CP-1499, CP-1504 and CP-1516 to the
+ data dictionary. These CPs were approved during last weeks WG-06 meeting.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Changed handling of "Qualitative Evaluations":
+ Slightly changed handling of "Qualitative Evaluations" (TID 1500 - Row 12
+ to 14). Previously, the CONTAINER in Row 12 was always created. Now, it is
+ only added if qualitative evaluations are present. This change follows the
+ clarification made in the upcoming CP-1579.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added comments on what's "to be done" (tbd).
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Added new method getSOPClassName():
+ Added new convenience method getSOPClassName() that allows for retrieving
+ the name that is associated with the SOP class UID (if any).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrsoprf.h
+ dcmsr/libsrc/dsrcomvl.cc
+ dcmsr/libsrc/dsrsoprf.cc
+
+- Added example for using SR templates:
+ Added simple example (based on TID 1500) that shows how to use SR templates.
+ Also revised the first example in order to demonstrate some enhancements
+ that were made on the DICOM SR API during the last couple of months.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/docs/dcmsr.dox
+
+- Added support of TID 1411 to TID 1500:
+ Added support of TID 1411 (Volumetric ROI Measurements) and included
+ templates to TID 1500 (Measurement Report). Now, the implementation of
+ class TID1500_MeasurementReport is complete in terms of what is required
+ by the DICOM standard and what is needed for QIICR's "Measurements SR"
+ converter. Also completed corresponding test case for TID 1500.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrcmr.cc
+
+- Added support for TID 1411 and included templates:
+ Added initial support for TID 1411 (Volumetric ROI Measurements) and
+ included templates TID 1502 and TID 1419. This is the first generic SR
+ template that has been implemented for this toolkit, i.e. it has SR
+ template parameters that are directly mapped to C++ template types.
+ Current support for TID 1411 is focussed on the use within TID 1500
+ (Measurement Report), which will be added by the next commit.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h
+ dcmsr/libcmr/tid1411.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+
+- Changed default value of "expandTree" parameter:
+ The default value of the "expandTree" parameter of the
+ DSRDocument::setTreeFromRootTemplate() method changed from OFFalse to OFTrue.
+ This is because some output methods like write() or renderHTML() do not yet
+ work on document trees that contain "included template" nodes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/tests/tsrtpl.cc
+
+- Added method that returns the position counter:
+ Added method that returns the value of the position counter on the current
+ level, i.e. 1 for the first child, 2 for the second child, and so on.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Slightly changed name of some UCUM codes:
+ The name of some UCUM (Unified Code for Units of Measure) code definitions
+ changed due to a slighly revised algorithm that generates these names
+ automatically from the official code meaning (see DICOM PS 3.16). Some code
+ names (like e.g. for "cm" or "s") now start with a lower case letter, which
+ is more intuitive.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added further SRT codes needed for QIICR:
+ Added further SNOMED-RT (RT) codes that are needed for the "Measurements SR"
+ converter of the QIICR (Quantitative Image Informatics for Cancer Research)
+ project.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+
+**** Changes from 2016.01.22 (riesmeier)
+
+- Removed renderHTML() function from subtree class:
+ Removed renderHTML() functionality from subtree and SR template classes
+ since rendering parts of an SR document in HTML format doesn't make much
+ sense. Also rendering document trees that contain included (non-expanded)
+ templates isn't supported yet. This might change in the future.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Removed write() functionality from subtree class:
+ Removed write() functionality from subtree and SR template classes since
+ writing valid DICOM SR objects does not work (yet) on this level. Also
+ writing of document trees that contain included (non-expanded) templates
+ isn't supported yet. This might change in the future.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+**** Changes from 2016.01.22 (onken)
+
+- Renamed method name for consistency.
+ Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+ dcmiod/libsrc/cielabutil.cc
+ dcmiod/tests/tcielabutil.cc
+
+**** Changes from 2016.01.22 (riesmeier)
+
+- Minor fixes to API documentation.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+
+- Moved renderHTML() to DSRDocumentSubTree:
+ Moved second variant of the renderHTML() method, i.e. the one with less
+ parameters, from class DSRDocumentTree to DSRDocumentSubTree. By doing so,
+ the same method call can be used for both root and non-root templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Added check for included templates to renderHTML():
+ Added check for included (non-expanded) templates to renderHTML() method.
+ In such a case, a new error code SR_EC_CannotProcessIncludedTemplates is
+ returned. Rendering these kind of documents is something that might be
+ supported in the future.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Fixed issue with renderHTML() for document subtree:
+ Fixed an issue when using renderHTML() for a document subtree that does not
+ have a single root node, e.g. for a sub-template like TID 1001 (Observation
+ Context).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Fixed wrong output of node ID in print():
+ Fixed wrong output of node ID for "included templates" in print() method.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Fixed issue with writeXML() for document subtree:
+ Fixed an issue when using writeXML() for a document subtree that does not
+ have a single root node, e.g. for an included sub-template like TID 1001
+ (Observation Context).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Used hasTemplateIdentification() method more often.
+ Affects: dcmsr/libsrc/dsrdoctn.cc
+
+**** Changes from 2016.01.21 (riesmeier)
+
+- Fixed minor issues with Doxygen documentation:
+ Also fixed some typos and made source code formatting more consistent.
+ Affects: dcmdata/apps/mdfdsman.h
+ dcmdata/include/dcmtk/dcmdata/dcmetinf.h
+ dcmdata/include/dcmtk/dcmdata/dcvrulup.h
+ dcmnet/include/dcmtk/dcmnet/dccftsmp.h
+ ofstd/include/dcmtk/ofstd/ofcmdln.h
+ ofstd/include/dcmtk/ofstd/oftempf.h
+
+- Added isComplete() to composite reference class:
+ Added new method isComplete() to DSRCompositeReferenceValue, which checks
+ whether the mandatory components are present (non-empty). This is a more
+ basic check than isValid(). However, it is not the counterpart of isEmpty().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
+ dcmsr/libsrc/dsrcomvl.cc
+
+- Added support for new UID from Supplement 181:
+ Added support for new Storage SOP Class UID from Supplement 181
+ (Tractography Results Storage SOP Class).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added test for recently introduced VR "Other Long".
+ Added: dcmdata/tests/tvrol.cc
+ Affects: dcmdata/tests/CMakeLists.txt
+ dcmdata/tests/Makefile.dep
+ dcmdata/tests/Makefile.in
+ dcmdata/tests/tests.cc
+
+- Added support for Supplement 181 to dictionary:
+ Added support for the final text version of Supplement 181 (Tractography
+ Results Storage SOP Class) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added helper function putAndInsertUint32Array():
+ Added helper function putAndInsertUint32Array() that can be used for both
+ Unsigned Long (UL) and Other Long (OL) elements.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/libsrc/dcitem.cc
+
+- Added support for new value representation "OL":
+ Added support for new value representation "Other Long" (OL) that has been
+ introduced only recently with Supplement 181 (Tractography Results Storage
+ SOP Class).
+ Closes DCMTK Conformance #664 (partially).
+ Added: dcmdata/include/dcmtk/dcmdata/dcvrol.h
+ dcmdata/libsrc/dcvrol.cc
+ Affects: dcmdata/apps/dump2dcm.cc
+ dcmdata/docs/dump2dcm.man
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dctk.h
+ dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrul.h
+ dcmdata/libsrc/CMakeLists.txt
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/libsrc/Makefile.in
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcvr.cc
+ dcmdata/libsrc/dcvrul.cc
+ dcmdata/tests/telemlen.cc
+ dcmdata/tests/tests.cc
+
+- Made use of isAffectedBySpecificCharacterSet():
+ Use isAffectedBySpecificCharacterSet() instead of checking the VRs that
+ are affected by the specific character set manually. This should make sure
+ that new VRs are not forgotten (like in this case "UC").
+ Affects: dcmdata/apps/xml2dcm.cc
+
+- Changed name of dcmEnableXXX global variables:
+ Changed name of global variable dcmEnableOtherFloatStringVRGeneration and
+ dcmEnableOtherDoubleStringVRGeneration: removed the term "String" from the
+ names. This change should be harmless since most people will probably use
+ the global function dcmEnable/DisableGenerationOfNewVRs() - if at all.
+ Also see commit 280638e.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/libsrc/dcvr.cc
+
+- Removed unneeded includes and fixed comments.
+ Affects: dcmdata/libsrc/dcvrfl.cc
+ dcmdata/libsrc/dcvrod.cc
+ dcmdata/libsrc/dcvrof.cc
+
+- Fixed wrong use of getVM() in print() method:
+ Since the derived class DcmOtherDouble always has a value multiplicity of 1
+ getVM() cannot be used to determine the number of values stored. So, use
+ the length field instead (as in other similar cases).
+ Affects: dcmdata/libsrc/dcvrfd.cc
+
+**** Changes from 2016.01.21 (onken)
+
+- FormatMessage() instead of hand-crafted switch():
+ Use FormatMessage() in order to get an error code description instead of
+ enumerating all string values in a switch() statement. Made Unix strerror()
+ call thread-safe by using OFStandard version. Fixed typo.
+ Affects: dcmnet/libsrc/diutil.cc
+
+**** Changes from 2016.01.20 (riesmeier)
+
+- Enhanced API documentation:
+ Slightly enhanced API documentation on class DSRTreeNodeCursor.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Removed empty source file for DSRTreeNodeCursor:
+ Removed empty source file for the DSRTreeNodeCursor class. The
+ implementation of the template class has been moved to the header file
+ with commit 6171318. Some linkers complained about the empty file.
+ Removed: dcmsr/libsrc/dsrtncsr.cc
+ Affects: dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+
+- Moved some print() code from node to tree class:
+ Moved some code from the print() method of the DSRIncludedTemplateTreeNode
+ class to the print() method of the DSRDocumentSubTree class.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Added method to compare template identification:
+ Added method to the document subtree, tree node and SR template classes that
+ allows for an easier comparison of the template identification.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/tests/tsrcmr.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added further SRT codes needed for TID 1500:
+ Added further SNOMED-RT codes that are needed for TID 1500 (Measurement
+ Report) and included sub-templates.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/srt.h
+
+- Modified readable name of internal types:
+ Slightly changed readable name of internal relationship type RT_isRoot and
+ internal value type VT_includedTemplate. This might be useful for debugging
+ purposes.
+ Affects: dcmsr/libsrc/dsrtypes.cc
+
+- Fixed issue with definition of E_ValueType:
+ When the new (internal) value type VT_includedTemplate was introduced,
+ the indicator for the last entry in the enum (VT_last) has not been
+ updated. This impacted the various valueTypeToXXX() helper functions.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+
+**** Changes from 2016.01.20 (onken)
+
+- Removed accidentially checked-in test code.
+ Affects: dcmnet/apps/dcmrecv.cc
+
+- Better logging of select() on network:
+ When waiting for network data using select() it has not been distinguishable
+ whether a regular timeout occurred or if another error (such as an interrupt)
+ interrupted the call. Now, debug output is written in order to make it easier
+ to see what exactly happened (especially in case of errors).
+ Thanks to forum user michael12345 for the report.
+ Affects: dcmnet/apps/dcmrecv.cc
+ dcmnet/include/dcmtk/dcmnet/diutil.h
+ dcmnet/libsrc/assoc.cc
+ dcmnet/libsrc/dcmtrans.cc
+ dcmnet/libsrc/diutil.cc
+ dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulextra.cc
+ dcmnet/libsrc/dulfsm.cc
+ dcmpstat/tests/msgserv.cc
+ dcmtls/libsrc/tlstrans.cc
+
+**** Changes from 2016.01.19 (riesmeier)
+
+- Do no treat empty included template as error:
+ Made sure that an empty included template is not treated as an error in the
+ various output methods like writeXML() or renderHTML(). Instead, EC_Normal
+ is returned (see API documentation).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Output numeric value qualifier in print():
+ Added output of optional numeric value qualifier in print() method if the
+ numeric measurement value is empty.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+
+**** Changes from 2016.01.19 (onken)
+
+- Avoid warning if size_t mismatches unsigned long.
+ Affects: dcmiod/include/dcmtk/dcmiod/iodutil.h
+
+- Avoid warning when initialzing srand():
+ Some systems report a warning when using time_t to initialize srand().
+ A cast was added which should be safe since we are not interested into
+ the exact number time() returns but in a "random" initialization value.
+ Affects: dcmiod/tests/tcielabutil.cc
+
+- Fixed #define for including time.h.
+ Affects: dcmiod/tests/tcielabutil.cc
+
+**** Changes from 2016.01.19 (riesmeier)
+
+- Enhanced error checking of writeXML() method:
+ Enhanced error checking of writeXML() method, i.e. made sure that errors
+ caused by nested elements are actually reported to the caller. This also
+ required a minor change in the "dcm2xml" command line tool.
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/libsrc/dcdatset.cc
+ dcmdata/libsrc/dcdirrec.cc
+ dcmdata/libsrc/dcfilefo.cc
+ dcmdata/libsrc/dcitem.cc
+ dcmdata/libsrc/dcmetinf.cc
+ dcmdata/libsrc/dcsequen.cc
+
+- Used more specific conditions than EC_IllegalCall:
+ Used more specific condition codes than EC_IllegalCall when there is an
+ issue with the character set options or the character set encoding of the
+ DICOM dataset.
+ Affects: dcmdata/apps/dcm2xml.cc
+
+**** Changes from 2016.01.18 (onken)
+
+- Added missing shared library export macro.
+ Affects: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+
+**** Changes from 2016.01.18 (riesmeier)
+
+- Added class CMR_SRNumericMeasurementValueWithUnits:
+ Introduced derived template class CMR_SRNumericMeasurementValueWithUnits
+ that allows for checking the measurement unit based on a given context group
+ (baseline or defined group). Also added new test cases for this purpose.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Defined short names for CID and TID classes:
+ Defined short names for context group (CID) and template (TID) classes
+ as an alternative to the existing long names. The nomenclature of these
+ type definitions is: CMR_CIDnnn (with "nnn" being the numeric identifier
+ of the context group) or CMR_TIDnnn (with "nnn" being the numeric ID of
+ the SR template), respectively.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2016.01.18 (onken)
+
+- Utilities for conversion between CIELab and RGB.
+ Added: dcmiod/include/dcmtk/dcmiod/cielabutil.h
+ dcmiod/libsrc/cielabutil.cc
+ dcmiod/tests/CMakeLists.txt
+ dcmiod/tests/Makefile.dep
+ dcmiod/tests/tcielabutil.cc
+ dcmiod/tests/tests.cc
+ Affects: COPYRIGHT
+ dcmiod/CMakeLists.txt
+ dcmiod/Makefile.in
+ dcmiod/libsrc/CMakeLists.txt
+ dcmiod/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.in
+ dcmiod/tests/Makefile.in
+
+**** Changes from 2016.01.15 (riesmeier)
+
+- Overwrite setValue() methods from base class:
+ Added setValue() methods that expect a CID42_NumericValueQualifier instance
+ for the "valueQualifier" parameter instead of a simple DSRCodedEntryValue.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/libcmr/srnumvl.cc
+
+- Avoid output of pixel items in Native DICOM Model:
+ Added check for Native DICOM Model in writeXML() method of class DcmPixelItem
+ and return an error since output in this format is not supported.
+ Affects: dcmdata/libsrc/dcpxitem.cc
+
+**** Changes from 2016.01.14 (riesmeier)
+
+- Fixed memory leak reported by valgrind:
+ Fixed memory leak ("still reachable blocks" at program exit) that was reported
+ by valgrind in CMR_ContentMappingResource::cleanupAllContextGroups(). Instead
+ of cleanup() the initialize() function was called for the CID 7469 class.
+ Affects: dcmsr/libcmr/init.cc
+
+- Used CMR_SRNumericMeasurementValue more often:
+ Replaced type of numeric value parameters in public API from class
+ DSRNumericMeasurementValue by derived class CMR_SRNumericMeasurementValue
+ which provides additional checks, e.g. on the code used for the optional
+ value qualifier (CID 42).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/tests/Makefile.dep
+
+- Enhanced class CMR_SRNumericMeasurementValue:
+ Enhanced implementation of derived class CMR_SRNumericMeasurementValue:
+ added further constructor for "value qualifier" and copy constructor for
+ DSRNumericMeasurementValue, changed parameters of setNumericValueQualifier()
+ and added new tests.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/libcmr/srnumvl.cc
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2016.01.13 (riesmeier)
+
+- Added support for recently added Context Groups:
+ Added support for recently added Context Group CID 6147, 7181, 7464 and 7469.
+ These groups were still missing in the global initialize/cleanup() methods.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/init.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/init.cc
+
+- Added more header files to Doxygen documentation:
+ Added header files with global definitions (in this case, error constants)
+ to the list of files that are processed by Doxygen.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+
+- Made sure file is processed by Doxygen:
+ Made sure that the header file is processed by Doxygen since it contains
+ some interesting (and also documented) global variables/settings. Fixed
+ a couple of typos and other minor issues related to the documentation.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcobject.h
+
+- Replaced call of isValid() by isComplete():
+ Replaced call of DSRCodedEntryValue::isValid() by the recently introduced
+ isComplete() method where appropriate. Also fixed a couple of wrong calls of
+ addChildContentItem() instead of addContentItem(), which makes no difference
+ for an empty document tree anyway.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libcmr/tid1500.cc
+ dcmsr/libcmr/tid1600.cc
+
+- Always pass "check" parameter to addContentItem().
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libcmr/tid1600.cc
+
+- Flag for default creation of empty image library:
+ Added optional flag to the constructor that allows for disabling the default
+ creation of an empty image library. This approach is now consistent with the
+ upcoming class for TID 1411 (Volumetric ROI Measurements).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/tid1600.cc
+
+- Allowed read-only access to frame/segment list:
+ Added const variants of getFrame/SegmentList(), e.g. in order to check the
+ number of items stored in the list.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+
+- Enhanced check on Segmentation objects:
+ Enhanced check on DICOM Segmentation objects that are referenced by an
+ instance of DSRImageReferenceValue. On the one hand, the list of known
+ Storage SOP Classes has been updated for the latest edition of the
+ DICOM standard (2015c); the Surface Segmentation object was missing.
+ On the other hand, the list of referenced segment numbers is only allowed
+ for Segmentation objects, which is now also checked.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
+ dcmsr/libsrc/dsrimgvl.cc
+
+- Added further constructor and setValue() method:
+ Added another constructor and setValue() method which accept a coded entry
+ representing the numeric value qualifier, i.e. the reason why the numeric
+ value and measurement unit are absent.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/tests/tsrnumvl.cc
+
+- Added method isComplete() to numeric value class:
+ Added new method isComplete() to DSRNumericMeasurementValue, which checks
+ whether the mandatory components are present (and complete). This is a much
+ more basic check than isValid() provides. However, it is not the counterpart
+ of isEmpty().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+ dcmsr/tests/tsrnumvl.cc
+
+- Checked standard for defined Waveform objects:
+ Checked current edition of the DICOM standard (2015c) for the list of
+ defined Waveform objects and updated the documentation accordingly.
+ Since the last check (DICOM 2014a), no new SOP Classes were added.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
+ dcmsr/libsrc/dsrwavvl.cc
+
+- Minor fixes to API documentation.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+- Harmonized log output of DICOM attribute names:
+ Don't mix keywords (CamelCase) with attribute names anymore. Always use the
+ official attribute names in log messages, i.e. with space characters. Of
+ course, this only applies to manually written messages. In case the name
+ is derived automatically from the attribute tag, the official keyword from
+ the DICOM data dictionary (PS 3.6) is used.
+ Affects: dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrcsidl.cc
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrimgvl.cc
+ dcmsr/libsrc/dsrsc3vl.cc
+ dcmsr/libsrc/dsrscovl.cc
+ dcmsr/libsrc/dsrtcovl.cc
+
+- Added initial version of NCIt code definitions:
+ Added initial version of the NCI Thesaurus (Coding Scheme "NCIt") code
+ definitions as used/defined by the DICOM standard.
+ The code definitions are generated semi-automatically from the machine-readable
+ DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
+ means that the definitions will be updated from time to time as the standard
+ evolves. However, please be warned that the names of the constants/defines
+ might change in the future (hopefully, there will be official keywords in the
+ standard like they are for the DICOM attribute tags in PS 3.6).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/codes/ncit.h
+
+**** Changes from 2016.01.12 (riesmeier)
+
+- Allowed public access to referenced template:
+ Allowed public access (get and set method) to the referenced template that
+ is managed by the class DSRIncludedTemplateTreeNode. That way, there is no
+ need any more for the inelegant "friend" declaration. Also the API is now
+ more consistent with other "node" classes, even though this class is used
+ only for internal purposes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Fixed minor issues when using C++11 STL:
+ Fixed minor issues when compiling with gcc 4.8.4 and C++11 STL enabled.
+ In C++11 mode, some implicit type conversions do not seem to work, so
+ make them more explicit.
+ Affects: dcmsr/libsrc/dsrtpltn.cc
+ dcmsr/tests/tsrtpl.cc
+
+**** Changes from 2016.01.11 (onken)
+
+- Fixed DCMTK C++11 STL-enabled build:
+ Missing include led to failures since std::cout could not be found any more.
+ Affects: ofstd/libsrc/ofmath.cc
+
+**** Changes from 2016.01.11 (riesmeier)
+
+- Fixed another issue with createExpandedSubTree():
+ When an empty "included template" content item was processed, i.e. removed
+ from the resulting document tree, the next content item was skipped by
+ mistake. This was detected when enhancing a test case for the upcoming
+ support of TID 1411 (which is included in TID 1500 - Row 8).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/libsrc/dsrdocst.cc
+
+- Avoid checking the pointer returned by getNode():
+ Avoid checking the pointer returned by getNode() method if it is clear that
+ it cannot be NULL, e.g. because the internal cursor has already been checked
+ for validity or a previous call of an iteration method returned a non-zero
+ value.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/tests/tsrtree.cc
+
+- Enhanced derived implementation of countNodes():
+ Enhanced implementation of countNodes() in derived document tree classes by
+ providing two optional flags that allow for specifying how to count
+ and process "included templates", e.g. whether the content of included (but
+ not expanded) sub-templates is counted like a normal subtree with all of its
+ nodes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Added new method isCursorValid():
+ Added method that checks whether the internal cursor of a document tree,
+ which points to the current content item, is valid. This new method is also
+ available to the derived SR template classes.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libsrc/dsrdocst.cc
+
+**** Changes from 2016.01.10 (onken)
+
+- Fixed typo in error message.
+ Affects: dcmfg/libsrc/fginterface.cc
+
+- Fixed bug when packaging binary segmentations:
+ Segmentations bits are filled into the byte from right to left, i.e. starting
+ from the least significant bit of the first byte to the most significant bit
+ of the last byte in the Pixel Data element. The old implementation filled the
+ bytes in the correct order, however, the bits have been filled in from the
+ wrong order. This was discovered since another implementation was available for
+ interoperability testing.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmseg/libsrc/segutils.cc
+
+- Fixed comment.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2016.01.08 (riesmeier)
+
+- Updated Makefile dependencies.
+ Affects: dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+
+- Fixed issue expanding empty included template:
+ Fixed an issue that occurred when trying to expand a document tree that
+ contains an empty included template. This resulted in an error status
+ returned by DSRDocumentSubTree::createExpandedSubTree().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Added support for CID 6147, 7181, 7464 and 7469:
+ Added support for Context Group CID 6147 (Response Criteria), CID 7181
+ (Abstract Multi-dimensional Image Model Component Units), CID 7464 (General
+ Region of Interest Measurement Modifiers) and 7469 (Generic Intensity and
+ Size Measurements), which will be needed for using the upcoming template
+ class of TID 1411 (Volumetric ROI Measurements) within TID 1500 (Measurement
+ Report). As always, all these new files were generated automatically.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h
+ dcmsr/libcmr/cid6147.cc
+ dcmsr/libcmr/cid7181.cc
+ dcmsr/libcmr/cid7464.cc
+ dcmsr/libcmr/cid7469.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.in
+
+- Regenerated context groups with new script version:
+ Regenerated all context group header and source files with a new version
+ of the XSLT script. There was only a single change in the name of an enum.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/cid100.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid11.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid244.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid29.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid42.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h
+ dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h
+ dcmsr/libcmr/cid100.cc
+ dcmsr/libcmr/cid10013.cc
+ dcmsr/libcmr/cid10033.cc
+ dcmsr/libcmr/cid11.cc
+ dcmsr/libcmr/cid244.cc
+ dcmsr/libcmr/cid29.cc
+ dcmsr/libcmr/cid4020.cc
+ dcmsr/libcmr/cid4021.cc
+ dcmsr/libcmr/cid4031.cc
+ dcmsr/libcmr/cid42.cc
+ dcmsr/libcmr/cid7021.cc
+ dcmsr/libcmr/cid7445.cc
+ dcmsr/libcmr/cid7452.cc
+ dcmsr/libcmr/cid7453.cc
+
+- Fixed imprecise documentation of parameter:
+ Distinguish more clearly between "numeric value" and "measurements".
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrnumvl.cc
+
+**** Changes from 2016.01.07 (riesmeier)
+
+- Fixed minor Doxygen-related issues:
+ Also updated the copyright date (where appropriate).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Added new method hasExtendedCodedEntries():
+ Added new method hasExtendedCodedEntries() to the context group base
+ class, which allows for checking whether the group has any extended,
+ i.e. non-standard coded entries. Also changed two virtual functions
+ to "inline" (as it was intended).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctxgr.h
+ dcmsr/libsrc/dsrctxgr.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Introduced new printExtended() method:
+ Extracted output of extended information on a content item from the general
+ print() method of the DSRDocumentSubTree class and moved this code to the
+ new printExtended() method of the DSRDocumentTreeNode class. In other words,
+ the resulting output is the same but the internal structure is now clearer.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+
+- Fixed wrong call of gotoLastEntryFromNodeList():
+ Replaced wrong call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList().
+ In practice, this should make no difference but now the correct function is
+ called.
+ Affects: dcmsr/libcmr/tid1500.cc
+
+**** Changes from 2016.01.06 (riesmeier)
+
+- Added full support for qualitative evaluations:
+ Added full support for qualitative evaluations (TID 1500 - Row 13 and 14),
+ e.g. for categorial observations that are related to the entire subject of
+ the report rather than specific measurement groups (DICOM PS 3.16).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Added new method isComplete() to coded entry class:
+ Added new method isComplete() to DSRCodedEntryValue, which checks whether
+ the three mandatory components of a code are non-empty. This is a much more
+ basic check than isValid() provides.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcodvl.cc
+
+- Added new condition constant and fixed memory leak:
+ Introduced new condition constant that is used when no image library entry
+ descriptors have been added (i.e. copied from a given dataset). Also fixed
+ a possible memory leak that could occur in such a case.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/tid1600.cc
+
+- Added new parameter to gotoLastEntryFromNodeList():
+ Added optional parameter "firstPos" to gotoLastEntryFromNodeList(), which
+ allows for stopping the search process at a particular node list entry.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libsrc/dsrctpl.cc
+
+- Added optional "check" parameter to addContentItem:
+ Added optional "check" parameter to convenience methods addContentItem()
+ and addChildContentItem().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Enhanced hasXXX() by adding an optional parameter:
+ Enhanced hasImagingMeasurements() and hasQualitativeEvaluations() by adding
+ an optional parameter that allows for checking whether the respective content
+ item has any children (i.e. real content). Since the child nodes are optional
+ the default is not to check for children.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Slightly reworked use of xxx_RESULT helper macros:
+ Introduced new helper macros GOOD_RESULT and BAD_RESULT. Replaced helper
+ macro DELETE_ERROR by an appropriate use of the new macro BAD_RESULT.
+ In general, used the helper macros more often in order to increase the
+ readability of the source code.
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/libcmr/tid1600.cc
+
+- Changed variable name for reasons of consistency.
+ Affects: dcmsr/libcmr/srnumvl.cc
+
+- Added preliminary support for TID 1500 - Row 12:
+ Added preliminary support for the conditional CONTAINER content item
+ "Qualitative Evaluations" (TID 1500 - Row 12), which seems to be required
+ according to the condition given in the template definition table. Support
+ for the child content items (CODE and TEXT) will follow in a separate commit.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1500.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrcmr.cc
+
+- Added initial version of UMLS code definitions:
+ Added initial version of Unified Medical Language System (Coding Scheme
+ "UMLS") code definitions as used/defined by the DICOM standard.
+ The code definitions are generated automatically from the machine-readable
+ DocBook/XML version of DICOM PS 3.16 (DICOM Content Mapping Resource). That
+ means that the definitions will be updated from time to time as the standard
+ evolves. However, please be warned that the names of the constants/defines
+ might change in the future (hopefully, there will be official keywords in the
+ standard like they are for the DICOM attribute tags in PS 3.6).
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/codes/umls.h
+
+**** Changes from 2016.01.05 (riesmeier)
+
+- Added links to implemented SR templates:
+ Added links to the currently implemented SR templates to the Doxygen
+ documentation of the "dcmsr" module.
+ Affects: dcmsr/docs/dcmsr.dox
+
+- Added 1st version of TID 1500 (Measurement Report):
+ Added first version of TID 1500 (Measurement Report) and included templates.
+ The focus of this initial commit was on the general structure of this SR
+ template and the mandatory content items and included templates (TID 1204,
+ 1001, 1600). There is also a new test case that demonstrates how to use the
+ new TID1500_MeasurementReport class. Further enhancements will follow.
+ Acknowledgement: This work and also the previous commits on the "dcmsr"
+ module have been supported in part by the "QIICR" project. See CREDITS file
+ for details.
+ Added: dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h
+ dcmsr/libcmr/tid1500.cc
+ Affects: dcmsr/libcmr/CMakeLists.txt
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/Makefile.in
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrcmr.cc
+
+- Used another document type for a test case:
+ Used another document type for the test case "dcmsr_changeDocumentType_2" in
+ order to avoid a warning message that the template identification is not set.
+ Affects: dcmsr/tests/tsrdoc.cc
+
+- Added further output methods to template classes:
+ Added write(), writeXML() and renderHTML() method to template-related classes.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+
+- Moved further output methods to subtree class:
+ Moved write(), writeXML() and renderHTML() method from document tree to
+ subtree class. This is a preparatory step that will be completed with the
+ next commit.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Print the annotation text for included templates:
+ As for all other types of content items, the optional annotation text is now
+ also printed for the internal "included template" type.
+ Affects: dcmsr/libsrc/dsrtpltn.cc
+
+- Call clear() method of both base classes:
+ Made sure that the clear() method of both base classes is called, i.e. also
+ DSRTemplateCommon::clear() which clears the internally managed node list.
+ Affects: dcmsr/libsrc/dsrrtpl.cc
+
+- Avoid calling getSelectedValue() explicitly.
+ Affects: dcmsr/libcmr/tid1001.cc
+ dcmsr/libcmr/tid1204.cc
+
+- Enhanced reserveEntriesInNodeList():
+ Added optional parameter to reserveEntriesInNodeList() that allows for
+ initializing the entries of the node list with a value of 0.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/libsrc/dsrctpl.cc
+
+- Fixed minor inconsistencies in comments.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h
+ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+
+- Updated copyright dates.
+ Affects: COPYRIGHT
+
+**** Changes from 2015.12.30 (riesmeier)
+
+- Added support for expanding a document tree:
+ Added support for expanding a document tree, i.e. to replace all included
+ templates by their content (i.e. the subtree that is managed by the class).
+ Also added a new test case that uses (and checks) this new feature.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtpl.cc
+
+- Added support for including templates into a tree:
+ Added support for including - not inserting - templates into a document tree
+ or subtree. That means, the template-specific API is still available to the
+ user even though the tree structure that is managed by the template class
+ has been "inserted" into a (sub)tree. In order to achieve this, a new value
+ type (internal) has been added: VT_includedTemplate. Further related changes
+ will follow.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Added: dcmsr/include/dcmtk/dcmsr/dsrtpltn.h
+ dcmsr/libsrc/dsrtpltn.cc
+ Affects: dcmsr/apps/Makefile.dep
+ dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/Makefile.dep
+
+- Included standard header "assert":
+ Added missing standard header "assert.h" or "cassert" in order to compile
+ when HAVE_STL and HAVE_STD_STRING are defined. This header file is needed
+ for Linux systems with gcc (and probably others).
+ Also fixed some typos and Doxygen related issues.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2015.12.28 (riesmeier)
+
+- Added support for replacing a node in a tree:
+ Added support for replacing the current node (and all of its child nodes)
+ of a tree by a given node (which might be the root of a subtree). This new
+ feature is needed for the upcoming enhanced SR template support.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrtree.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/tests/tests.cc
+ dcmsr/tests/tsrtree.cc
+
+- Added mapping resource to IOD constraint checker:
+ Replaced getRootTemplateIdentifier() by getRootTemplateIdentification()
+ which returns the mapping resource in addition to the identifier of the
+ root template (if any). Before, the DICOM Content Mapping Resource (DCMR)
+ was implicitly assumed when calling the getRootTemplateIdentifier() method.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsracqcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrbascc.h
+ dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrchecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcomcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrenhcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
+ dcmsr/include/dcmtk/dcmsr/dsriodcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrspecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
+ dcmsr/libsrc/dsracqcc.cc
+ dcmsr/libsrc/dsrbascc.cc
+ dcmsr/libsrc/dsrc3dcc.cc
+ dcmsr/libsrc/dsrchecc.cc
+ dcmsr/libsrc/dsrcolcc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrdoctn.cc
+ dcmsr/libsrc/dsrdoctr.cc
+ dcmsr/libsrc/dsrenhcc.cc
+ dcmsr/libsrc/dsrimpcc.cc
+ dcmsr/libsrc/dsrkeycc.cc
+ dcmsr/libsrc/dsrmaccc.cc
+ dcmsr/libsrc/dsrmamcc.cc
+ dcmsr/libsrc/dsrprocc.cc
+ dcmsr/libsrc/dsrrrdcc.cc
+ dcmsr/libsrc/dsrspecc.cc
+ dcmsr/libsrc/dsrxrdcc.cc
+
+**** Changes from 2015.12.21 (riesmeier)
+
+- Added "inline" specifier to isRootTemplate().
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrrtpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+
+- Use "const" specifier for pointer parameters:
+ Use "const" specifier for pointer parameters (where appropriate).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
+ dcmsr/libsrc/dsrdocst.cc
+ dcmsr/libsrc/dsrdoctr.cc
+
+- Fixed wrong use of gotoXXX() function call:
+ Replaced call of gotoLastEntryFromNodeList() by gotoEntryFromNodeList().
+ This change should make no difference since the method where this function
+ is called always checks whether the requested entry exists in the list of
+ node IDs.
+ Affects: dcmsr/libcmr/tid1600.cc
+
+- Added explicit type cast to avoid warnings:
+ Added explicit type cast in order to avoid compiler warnings reported by
+ gcc 4.8.4 with additional flags.
+ Affects: dcmimgle/include/dcmtk/dcmimgle/dibaslut.h
+ dcmimgle/include/dcmtk/dcmimgle/diovpln.h
+ dcmrt/libsrc/drmdose.cc
+
+**** Changes from 2015.12.18 (onken)
+
+- Disable Visual Studios min()/max() macros:
+ The DCMTK version of min() and max() defined in oflimits.h n conflicts with the
+ Visual Studio versions that are pre-defined in Windows. Thus, they are now
+ disabled in a Visual Studio build.
+ Affects: CMake/osconfig.h.in
+
+- Added missing DLL export macro to OFMath class.
+ Affects: ofstd/include/dcmtk/ofstd/ofmath.h
+
+**** Changes from 2015.12.17 (onken)
+
+- Always use isnan() and isinf() from OFMath.
+ Affects: ofstd/libsrc/ofstd.cc
+
+- Removed superfluous DLL export macro:
+ Renoved DLL export macro from static inline functions causing compiler errors
+ in shared builds.
+ Affects: ofstd/include/dcmtk/ofstd/ofstd.h
+
+**** Changes from 2015.12.16 (onken)
+
+- Regenerated dependencies for autoconf.
+ Affects: dcmdata/apps/Makefile.dep
+ dcmdata/libi2d/Makefile.dep
+ dcmdata/libsrc/Makefile.dep
+ dcmdata/tests/Makefile.dep
+ dcmfg/libsrc/Makefile.dep
+ dcmimage/apps/Makefile.dep
+ dcmimage/libsrc/Makefile.dep
+ dcmimgle/apps/Makefile.dep
+ dcmimgle/libsrc/Makefile.dep
+ dcmiod/libsrc/Makefile.dep
+ dcmjpeg/apps/Makefile.dep
+ dcmjpeg/libsrc/Makefile.dep
+ dcmjpls/apps/Makefile.dep
+ dcmjpls/libcharls/Makefile.dep
+ dcmjpls/libsrc/Makefile.dep
+ dcmnet/apps/Makefile.dep
+ dcmnet/libsrc/Makefile.dep
+ dcmnet/tests/Makefile.dep
+ dcmpstat/apps/Makefile.dep
+ dcmpstat/libsrc/Makefile.dep
+ dcmpstat/tests/Makefile.dep
+ dcmqrdb/apps/Makefile.dep
+ dcmqrdb/libsrc/Makefile.dep
+ dcmrt/apps/Makefile.dep
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/tests/Makefile.dep
+ dcmseg/libsrc/Makefile.dep
+ dcmseg/tests/Makefile.dep
+ dcmsign/apps/Makefile.dep
+ dcmsign/libsrc/Makefile.dep
+ dcmsr/apps/Makefile.dep
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/tests/Makefile.dep
+ dcmtls/libsrc/Makefile.dep
+ dcmwlm/apps/Makefile.dep
+ dcmwlm/libsrc/Makefile.dep
+ dcmwlm/tests/Makefile.dep
+ oflog/libsrc/Makefile.dep
+ ofstd/libsrc/Makefile.dep
+ ofstd/tests/Makefile.dep
+ ofstd/tests/taddsub.cc
+
+- Moved math functions from OFStandard to OFMath:
+ Commit 1b6bb7 added oflimit.h dependency to ofstd.h in order to implement some
+ new methods in OFStandard. However, oflimits.h relies on arith.h which is
+ created very early by arith.cc in a special build step. However, arith.cc
+ already relies on ofstd.h so a circular dependency was created. This has been
+ fixed by moving those functions (isnan and isinf) into an new class "OFMath"
+ which is declared in a separate header file ofmath.h. Before, ofstd.h defined
+ the functions and ofmath.cc already implemented them as part of OFStandard.
+ Thus the methods also moved from class OFStandard to OFMath.
+ Added: ofstd/include/dcmtk/ofstd/ofmath.h
+ Affects: config/arith.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/libsrc/ofmath.cc
+ ofstd/libsrc/ofstd.cc
+ ofstd/tests/tlimits.cc
+
+**** Changes from 2015.12.15 (riesmeier)
+
+- Further enhanced implementation of TID 1600:
+ Further enhanced implementation of TID 1600 (Image Library), e.g. since this
+ template is extensible, the structure of content items might deviate from
+ the definition in DICOM PS 3.16 (Content Mapping Resource). Also there is
+ now a way of recreating the root content item of this template after the
+ clear() method has been called.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/include/dcmtk/dcmsr/dsrctpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrstpl.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/libsrc/dsrctpl.cc
+ dcmsr/libsrc/dsrstpl.cc
+ dcmsr/libsrc/dsrtypes.cc
+ dcmsr/tests/tsrcmr.cc
+
+**** Changes from 2015.12.14 (onken)
+
+- Fixed possible underflows and overflows:
+ At several places in the code a wrong length of ACSE data structures received
+ over the network can cause overflows or underflows when processing those
+ data structures. Related checks have been added at various places in order
+ to prevent such (possible) attacks.
+ Thanks to Kevin Basista for the report.
+ Added: ofstd/tests/taddsub.cc
+ Affects: dcmnet/libsrc/dulparse.cc
+ ofstd/include/dcmtk/ofstd/ofstd.h
+ ofstd/tests/tests.cc
+ ofstd/tests/tofstd.cc
+
+- Fixed issues with binary segmentations:
+ Fixed memory leak when creating binary segmentations as well as possible write
+ to non-initialized memory. Also fixed extraction of binary segmentation frames
+ for some objects. Fixed typo.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+- Simpler API to extract binary segmentation frame:
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmseg/include/dcmtk/dcmseg/segutils.h
+ dcmseg/libsrc/segutils.cc
+
+**** Changes from 2015.12.11 (riesmeier)
+
+- Added set() methods for various template rows:
+ Added new methods that allow for setting various modality-specific content
+ items manually. At the moment, only some content items for TID 1607 (Image
+ Library Entry Descriptors for PET) are supported. Further items will follow.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h
+ dcmsr/libcmr/Makefile.dep
+ dcmsr/libcmr/tid1600.cc
+ dcmsr/tests/Makefile.dep
+ dcmsr/tests/tsrcmr.cc
+
+- Added new condition constant for template errors:
+ Added new condition constant that can be used if the "Value Set Constraint"
+ of a particular SR template row is violated.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added new function gotoNamedChildNode():
+ Added new helper function gotoNamedChildNode() which sets the internal cursor
+ of the document (sub)tree to a named node starting from the first children of
+ the current node. This avoid calling multiple other functions and checking of
+ return values.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+ dcmsr/libsrc/dsrdocst.cc
+
+- Added output stream operators:
+ Added output stream operator<<() to class DSRCodedEntryValue and
+ DSRNumericMeasurementValue. Internally, the print() method is used.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/include/dcmtk/dcmsr/dsrnumvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/libsrc/dsrnumvl.cc
+
+- Added comparison operator "not equal":
+ Added implementation of comparison operator!=() to class DSRCodedEntryValue.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrcodvl.h
+ dcmsr/libsrc/dsrcodvl.cc
+ dcmsr/tests/tsrcodvl.cc
+
+- Added new functions getCursor() and setCursor():
+ Added new protected helper functions getCursor() and setCursor(), which can
+ be used to store and reset a particular cursor position within a derived
+ class (e.g. one of the SR template classes). This is much more efficient
+ than iterating over the tree and searching for a particular node ID.
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+- Added new functions gotoParent() and gotoChild():
+ Added new helper functions gotoParent() and gotoChild() to the basic tree
+ node cursor class. The functionality is identical to goUp() and goDown().
+ Acknowledgement: This work has been supported in part by the "QIICR" project.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtncsr.h
+
+**** Changes from 2015.12.08 (onken)
+
+- Fixed typo in configure step also in configure.in.
+ Affects: config/configure
+ config/configure.in
+
+- Fixed decsription of configure option and typo:
+ Fixed escription of internal dictionary option and removed a superfluous line
+ leading to a (non-critical) error when executing config/configure.
+ Affects: config/configure
+ config/configure.in
+ config/include/dcmtk/config/osconfig.h.in
+
+- Fixed issue with some binary segmentations:
+ Some binary segmentation objects, whose number of pixels are not dividable by
+ 8, could not be correctly read or written since the standard requires to not
+ have any unused bits between the frames when encoding them in the Pixel Data
+ element. The corresponding routines have been re-written to reflect this
+ requirement. Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> and David
+ Flade <fladedavid@gmail.com> for the report.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Added: dcmseg/tests/CMakeLists.txt
+ dcmseg/tests/Makefile.dep
+ dcmseg/tests/tests.cc
+ dcmseg/tests/tutils.cc
+ Affects: dcmseg/CMakeLists.txt
+ dcmseg/Makefile.in
+ dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segtypes.h
+ dcmseg/include/dcmtk/dcmseg/segutils.h
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segtypes.cc
+ dcmseg/libsrc/segutils.cc
+ dcmseg/tests/Makefile.in
+
+**** Changes from 2015.12.07 (riesmeier)
+
+- Updated "dcmrt" classes based on DICOM 2015c:
+ Updated automatically generated IOD and sequence C++ classes for the various
+ RT objects based on the current edition of the DICOM standard (2015c).
+ Added: dcmrt/include/dcmtk/dcmrt/seq/drtbss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdias.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtqds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h
+ dcmrt/libsrc/drtbss.cc
+ dcmrt/libsrc/drtcpis.cc
+ dcmrt/libsrc/drtdias.cc
+ dcmrt/libsrc/drtecs.cc
+ dcmrt/libsrc/drtpdecs.cc
+ dcmrt/libsrc/drtqds.cc
+ dcmrt/libsrc/drtwrsrs.cc
+ Affects: COPYRIGHT
+ dcmrt/apps/Makefile.dep
+ dcmrt/include/dcmtk/dcmrt/drtdose.h
+ dcmrt/include/dcmtk/dcmrt/drtimage.h
+ dcmrt/include/dcmtk/dcmrt/drtionpl.h
+ dcmrt/include/dcmtk/dcmrt/drtiontr.h
+ dcmrt/include/dcmtk/dcmrt/drtplan.h
+ dcmrt/include/dcmtk/dcmrt/drtstrct.h
+ dcmrt/include/dcmtk/dcmrt/drttreat.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtafs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtags.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtarics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtas7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtass.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbads.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtces.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtchs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtcss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drteas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfes.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtgas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiais.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtians.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticpds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drticps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtircs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtitts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtiws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtoas.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtois.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtopis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtporis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtras.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrics.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrims.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrses.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtscris.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtshds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsis.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtsns.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtss.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms0.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttms9.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttscds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h
+ dcmrt/include/dcmtk/dcmrt/seq/drttts.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtvls.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwps.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtws.h
+ dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h
+ dcmrt/libsrc/CMakeLists.txt
+ dcmrt/libsrc/Makefile.dep
+ dcmrt/libsrc/Makefile.in
+ dcmrt/libsrc/drtaadcs.cc
+ dcmrt/libsrc/drtadcs.cc
+ dcmrt/libsrc/drtads.cc
+ dcmrt/libsrc/drtafs.cc
+ dcmrt/libsrc/drtags.cc
+ dcmrt/libsrc/drtajcs.cc
+ dcmrt/libsrc/drtarics.cc
+ dcmrt/libsrc/drtas1.cc
+ dcmrt/libsrc/drtas5.cc
+ dcmrt/libsrc/drtas6.cc
+ dcmrt/libsrc/drtas7.cc
+ dcmrt/libsrc/drtass.cc
+ dcmrt/libsrc/drtbads.cc
+ dcmrt/libsrc/drtbas.cc
+ dcmrt/libsrc/drtbcps.cc
+ dcmrt/libsrc/drtbl2.cc
+ dcmrt/libsrc/drtbl5.cc
+ dcmrt/libsrc/drtbldls.cc
+ dcmrt/libsrc/drtbldps.cc
+ dcmrt/libsrc/drtblds1.cc
+ dcmrt/libsrc/drtblds5.cc
+ dcmrt/libsrc/drtblds6.cc
+ dcmrt/libsrc/drtbldts.cc
+ dcmrt/libsrc/drtbrcss.cc
+ dcmrt/libsrc/drtbrdrs.cc
+ dcmrt/libsrc/drtbrs.cc
+ dcmrt/libsrc/drtbs.cc
+ dcmrt/libsrc/drtbvcps.cc
+ dcmrt/libsrc/drtcbars.cc
+ dcmrt/libsrc/drtccs.cc
+ dcmrt/libsrc/drtcctus.cc
+ dcmrt/libsrc/drtcdrs.cc
+ dcmrt/libsrc/drtces.cc
+ dcmrt/libsrc/drtchs.cc
+ dcmrt/libsrc/drtcims.cc
+ dcmrt/libsrc/drtcis.cc
+ dcmrt/libsrc/drtcncs.cc
+ dcmrt/libsrc/drtcos.cc
+ dcmrt/libsrc/drtcpas.cc
+ dcmrt/libsrc/drtcps.cc
+ dcmrt/libsrc/drtcs.cc
+ dcmrt/libsrc/drtcsas.cc
+ dcmrt/libsrc/drtcshs.cc
+ dcmrt/libsrc/drtcsis.cc
+ dcmrt/libsrc/drtcss.cc
+ dcmrt/libsrc/drtdcs.cc
+ dcmrt/libsrc/drtdimcs.cc
+ dcmrt/libsrc/drtdimrs.cc
+ dcmrt/libsrc/drtdirs.cc
+ dcmrt/libsrc/drtdose.cc
+ dcmrt/libsrc/drtdrs.cc
+ dcmrt/libsrc/drtds.cc
+ dcmrt/libsrc/drtdspcs.cc
+ dcmrt/libsrc/drtdss.cc
+ dcmrt/libsrc/drtdvhs.cc
+ dcmrt/libsrc/drtdvrrs.cc
+ dcmrt/libsrc/drteas.cc
+ dcmrt/libsrc/drtes.cc
+ dcmrt/libsrc/drtfds.cc
+ dcmrt/libsrc/drtfes.cc
+ dcmrt/libsrc/drtfgs.cc
+ dcmrt/libsrc/drtfgss.cc
+ dcmrt/libsrc/drtfms.cc
+ dcmrt/libsrc/drtfsss.cc
+ dcmrt/libsrc/drtgas.cc
+ dcmrt/libsrc/drthsdrs.cc
+ dcmrt/libsrc/drtiais.cc
+ dcmrt/libsrc/drtians.cc
+ dcmrt/libsrc/drtiblds.cc
+ dcmrt/libsrc/drtibls.cc
+ dcmrt/libsrc/drtibs.cc
+ dcmrt/libsrc/drticpds.cc
+ dcmrt/libsrc/drticps.cc
+ dcmrt/libsrc/drtics.cc
+ dcmrt/libsrc/drtiis.cc
+ dcmrt/libsrc/drtimage.cc
+ dcmrt/libsrc/drtionpl.cc
+ dcmrt/libsrc/drtiontr.cc
+ dcmrt/libsrc/drtipiqs.cc
+ dcmrt/libsrc/drtircs.cc
+ dcmrt/libsrc/drtiseis.cc
+ dcmrt/libsrc/drtitts.cc
+ dcmrt/libsrc/drtiwps.cc
+ dcmrt/libsrc/drtiws.cc
+ dcmrt/libsrc/drtlsds.cc
+ dcmrt/libsrc/drtlsds6.cc
+ dcmrt/libsrc/drtlsds7.cc
+ dcmrt/libsrc/drtmacds.cc
+ dcmrt/libsrc/drtmas.cc
+ dcmrt/libsrc/drtmdrs.cc
+ dcmrt/libsrc/drtmls.cc
+ dcmrt/libsrc/drtmps.cc
+ dcmrt/libsrc/drtmss.cc
+ dcmrt/libsrc/drtmucs.cc
+ dcmrt/libsrc/drtoas.cc
+ dcmrt/libsrc/drtois.cc
+ dcmrt/libsrc/drtopis.cc
+ dcmrt/libsrc/drtos.cc
+ dcmrt/libsrc/drtpbcs.cc
+ dcmrt/libsrc/drtpcs.cc
+ dcmrt/libsrc/drtpcxs.cc
+ dcmrt/libsrc/drtpfms.cc
+ dcmrt/libsrc/drtpics.cc
+ dcmrt/libsrc/drtplan.cc
+ dcmrt/libsrc/drtporcs.cc
+ dcmrt/libsrc/drtporis.cc
+ dcmrt/libsrc/drtppcs.cc
+ dcmrt/libsrc/drtprsis.cc
+ dcmrt/libsrc/drtpscs.cc
+ dcmrt/libsrc/drtpsics.cc
+ dcmrt/libsrc/drtpss.cc
+ dcmrt/libsrc/drtpsss.cc
+ dcmrt/libsrc/drtpvis.cc
+ dcmrt/libsrc/drtras.cc
+ dcmrt/libsrc/drtrbas2.cc
+ dcmrt/libsrc/drtrbas8.cc
+ dcmrt/libsrc/drtrbls.cc
+ dcmrt/libsrc/drtrbos1.cc
+ dcmrt/libsrc/drtrbos6.cc
+ dcmrt/libsrc/drtrbos7.cc
+ dcmrt/libsrc/drtrbs2.cc
+ dcmrt/libsrc/drtrbs4.cc
+ dcmrt/libsrc/drtrbs8.cc
+ dcmrt/libsrc/drtrcdrs.cc
+ dcmrt/libsrc/drtrcos.cc
+ dcmrt/libsrc/drtrcps.cc
+ dcmrt/libsrc/drtrcs.cc
+ dcmrt/libsrc/drtrdros.cc
+ dcmrt/libsrc/drtrdrs1.cc
+ dcmrt/libsrc/drtrdrs6.cc
+ dcmrt/libsrc/drtrdrs8.cc
+ dcmrt/libsrc/drtrds.cc
+ dcmrt/libsrc/drtrecs.cc
+ dcmrt/libsrc/drtrfgs.cc
+ dcmrt/libsrc/drtrfors.cc
+ dcmrt/libsrc/drtrics.cc
+ dcmrt/libsrc/drtrims.cc
+ dcmrt/libsrc/drtris.cc
+ dcmrt/libsrc/drtrlsds.cc
+ dcmrt/libsrc/drtrmdrs.cc
+ dcmrt/libsrc/drtrms.cc
+ dcmrt/libsrc/drtrmss6.cc
+ dcmrt/libsrc/drtrmss7.cc
+ dcmrt/libsrc/drtrpcs.cc
+ dcmrt/libsrc/drtrpis.cc
+ dcmrt/libsrc/drtrppcs.cc
+ dcmrt/libsrc/drtrpphs.cc
+ dcmrt/libsrc/drtrpps.cc
+ dcmrt/libsrc/drtrppss.cc
+ dcmrt/libsrc/drtrps.cc
+ dcmrt/libsrc/drtrris1.cc
+ dcmrt/libsrc/drtrris6.cc
+ dcmrt/libsrc/drtrris9.cc
+ dcmrt/libsrc/drtrrms.cc
+ dcmrt/libsrc/drtrros.cc
+ dcmrt/libsrc/drtrrpcs.cc
+ dcmrt/libsrc/drtrrros.cc
+ dcmrt/libsrc/drtrrs.cc
+ dcmrt/libsrc/drtrrshs.cc
+ dcmrt/libsrc/drtrrtps.cc
+ dcmrt/libsrc/drtrrtps3.cc
+ dcmrt/libsrc/drtrrtps4.cc
+ dcmrt/libsrc/drtrrtps5.cc
+ dcmrt/libsrc/drtrscs.cc
+ dcmrt/libsrc/drtrsers.cc
+ dcmrt/libsrc/drtrses.cc
+ dcmrt/libsrc/drtrshs.cc
+ dcmrt/libsrc/drtrshs6.cc
+ dcmrt/libsrc/drtrshs7.cc
+ dcmrt/libsrc/drtrsis.cc
+ dcmrt/libsrc/drtrsns.cc
+ dcmrt/libsrc/drtrsos.cc
+ dcmrt/libsrc/drtrsrs.cc
+ dcmrt/libsrc/drtrss.cc
+ dcmrt/libsrc/drtrsss.cc
+ dcmrt/libsrc/drtrsts.cc
+ dcmrt/libsrc/drtrtrs2.cc
+ dcmrt/libsrc/drtrtrs4.cc
+ dcmrt/libsrc/drtrvis.cc
+ dcmrt/libsrc/drtrws.cc
+ dcmrt/libsrc/drtrwvms.cc
+ dcmrt/libsrc/drtscris.cc
+ dcmrt/libsrc/drtsdcs.cc
+ dcmrt/libsrc/drtsds.cc
+ dcmrt/libsrc/drtshds.cc
+ dcmrt/libsrc/drtsis.cc
+ dcmrt/libsrc/drtsns.cc
+ dcmrt/libsrc/drtspccs.cc
+ dcmrt/libsrc/drtspcs.cc
+ dcmrt/libsrc/drtss.cc
+ dcmrt/libsrc/drtssrs.cc
+ dcmrt/libsrc/drtstrct.cc
+ dcmrt/libsrc/drttms0.cc
+ dcmrt/libsrc/drttms9.cc
+ dcmrt/libsrc/drttreat.cc
+ dcmrt/libsrc/drttscds.cc
+ dcmrt/libsrc/drttsibs.cc
+ dcmrt/libsrc/drttsmds.cc
+ dcmrt/libsrc/drttts.cc
+ dcmrt/libsrc/drtvls.cc
+ dcmrt/libsrc/drtwps.cc
+ dcmrt/libsrc/drtwrs.cc
+ dcmrt/libsrc/drtws.cc
+ dcmrt/libsrc/drtxrs.cc
+ dcmrt/tests/Makefile.dep
+
+- Handle EINTR raised by connect() or select():
+ The EINTR error (system call was interrupted by a signal that was caught)
+ might also be raised by a call of connect() or select(), which was not yet
+ handled appropriately.
+ Thanks to Thomas Sondergaard <thomas.sondergaard@karoshealth.com> and
+ Alexander Karaivanov <alexander.karaivanov@karoshealth.com> for the report
+ and suggested fix.
+ Affects: dcmnet/libsrc/dulfsm.cc
+
+- Check return value of listen() for errors:
+ Introduced check of return value of listen() call in order to detect e.g.
+ when listening on a certain port that is already in use (EADDRINUSE).
+ This kind of error has been reported for various Linux distributions,
+ e.g. RHEL5.3 and CentOS 7.
+ Thanks to Thomas Sondergaard <thomas.sondergaard@karoshealth.com> and
+ Alexander Karaivanov <alexander.karaivanov@karoshealth.com> for the report
+ and suggested fix.
+ Affects: dcmnet/libsrc/dul.cc
+
+- Fixed numerous typos.
+ Affects: dcmnet/libsrc/dul.cc
+ dcmnet/libsrc/dulfsm.cc
+
+**** Changes from 2015.12.04 (riesmeier)
+
+- Added comment on optional elements to be supported:
+ Added comment on optional data elements to be supported in the future.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+
+- Fixed wrong cardinality check on type 2 sequence:
+ Fixed wrong cardinality check on type 2 element Performed Procedure Code
+ Sequence (0040,A372). The DICOM standard says: "Zero or more Items shall
+ be included in this Sequence."
+ Affects: dcmsr/libsrc/dsrdoc.cc
+
+**** Changes from 2015.12.01 (riesmeier)
+
+- Updated documentation on recently added VR "UC":
+ Updated documentation regarding the value representation (VR) "Unlimited
+ Characters" (UC), which was missing at various places, especially when
+ listing the VRs that are affected by Specific Character Set (0008,0005).
+ Affects: dcmdata/apps/dcm2xml.cc
+ dcmdata/docs/dcm2xml.man
+ dcmdata/include/dcmtk/dcmdata/dcbytstr.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/include/dcmtk/dcmdata/dcsequen.h
+ dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+
+**** Changes from 2015.11.25 (onken)
+
+- Replaced type "bool" through "OFBool":
+ Some occurrences of bool have been checked in by one of the last commits
+ (72538a3). Since bool is not used in DCMTK so far (except for code integrated
+ from external sources), it was replaced by the DCMTK-specific OFBool type.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+
+**** Changes from 2015.11.18 (onken)
+
+- Add operators "<", "<=", ">" and ">=" for dcmdata:
+ Added operators "<", "<=", ">" and ">=" for DcmElement and DcmItem classes in
+ dcmdata in order to allow comparison of elements or items (i.e. lists of
+ elements). The operators use the compare() functions introduced several weeks
+ ago. Also fixed doxygen documentation issue.
+ Acknowledgement: This work has been supported by the "QIICR" project.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcelem.h
+ dcmdata/include/dcmtk/dcmdata/dcitem.h
+ dcmdata/tests/tvrcomp.cc
+
+**** Changes from 2015.11.17 (riesmeier)
+
+- Added text on IOD-specific template constraints:
+ Added text from DICOM PS 3.3 on template constraints to SR IOD checker
+ classes. This might be helpful when certain templates are referenced.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrchecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrcolcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrimpcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrkeycc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmaccc.h
+ dcmsr/include/dcmtk/dcmsr/dsrmamcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h
+ dcmsr/include/dcmtk/dcmsr/dsrspecc.h
+ dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h
+
+- Fixed incorrect constraint for root template:
+ According to DICOM PS 3.3, the root template TID 3001 "may be" used for the
+ Procedure Log IOD but it is not required (i.e. no constraint).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrprocc.h
+ dcmsr/libsrc/dsrprocc.cc
+
+- Fixed typos and updated references in comments.
+ Affects: dcmsr/libsrc/dsrc3dcc.cc
+ dcmsr/libsrc/dsrcomcc.cc
+ dcmsr/libsrc/dsrimpcc.cc
+
+- Check Acquisition Context SR contstraints:
+ Added support for checking the relationship content constraints of the
+ recently added Acquisition Context SR IOD (Supplement 187).
+ Added: dcmsr/include/dcmtk/dcmsr/dsracqcc.h
+ dcmsr/libsrc/dsracqcc.cc
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/CMakeLists.txt
+ dcmsr/libsrc/Makefile.dep
+ dcmsr/libsrc/Makefile.in
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added minimal support for Supplement 187:
+ Added minimal support for the recently approved Supplement 187 (Preclinical
+ Small Animal Imaging Acquisition Context), i.e. added new Storage SOP Class
+ to "dcmdata", "dcmnet" and "dcmqrdb". Also added new SR document type to
+ "dcmsr". Full support for this new Structured Rreporting IOD will follow in
+ a future commit.
+ The official status of this Supplement is "Draft Final Text - Waiting for
+ Codes" (WC), i.e. the document is final but some machine-readable codes are
+ still missing.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcddirif.cc
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+ dcmqrdb/libsrc/dcmqrdbi.cc
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrtypes.cc
+
+- Added DICOMDIR support for Supplement 184:
+ Added support for new Storage SOP Class from Supplement 184 (Brachytherapy
+ Delivery Instruction) to DICOMDIR generation code.
+ Also fixed a minor issue with the "RT Beams Delivery Instruction Storage"
+ SOP Class in this context.
+ Affects: dcmdata/libsrc/dcddirif.cc
+
+**** Changes from 2015.11.16 (riesmeier)
+
+- Added support for new UID from Supplement 184:
+ Added support for new Storage SOP Class UID from Supplement 184
+ (Brachytherapy Delivery Instruction).
+ Affects: dcmdata/include/dcmtk/dcmdata/dcuid.h
+ dcmdata/libsrc/dcuid.cc
+ dcmnet/docs/storescp.man
+ dcmnet/etc/storescp.cfg
+ dcmnet/etc/storescu.cfg
+ dcmqrdb/docs/dcmqrscp.man
+
+- Added support for recently approved CPs:
+ Added support for CP-1364, CP-1431, CP-1432, CP-1457, CP-1478 (WC) and
+ CP-1487 to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+- Added support for Supplement 184 to dictionary:
+ Added support for the final text version of Supplement 184 (Brachytherapy
+ Delivery Instruction) to the data dictionary.
+ Affects: dcmdata/data/dicom.dic
+ dcmdata/include/dcmtk/dcmdata/dcdeftag.h
+ dcmdata/libsrc/dcdictbi.cc
+
+**** Changes from 2015.11.16 (onken)
+
+- Use tag constants for better readability.
+ Affects: dcmdata/tests/tvrcomp.cc
+
+- Print warning when overwriting an existing file:
+ Make sure that movescu and getscu print out a warning when storing a received
+ file using a filename that is already taken by an existing file. This resulting
+ behaviour (warning and overwriting the old file) is now consistent with
+ storescp.
+ Affects: dcmnet/apps/movescu.cc
+ dcmnet/libsrc/scu.cc
+
+**** Changes from 2015.11.13 (riesmeier)
+
+- Added support for further Asian character sets:
+ Added support for further Asian character sets, e.g. Thai, Japanese, Korean
+ and Chinese (including ISO 2022 code extensions). The character set mapping
+ that is used for HTML/XHTML and XML format is based on Table D-1 in DICOM PS
+ 3.18 Annex D (current version from Supplement 174 - RESTful Rendering).
+ Affects: dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+ dcmsr/docs/xml2dsr.man
+ dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/include/dcmtk/dcmsr/dsrtypes.h
+ dcmsr/libsrc/dsrdoc.cc
+ dcmsr/libsrc/dsrtypes.cc
+
+- Changed checking of unsupported character sets:
+ Changed the way unsupported character sets, which are specified by option
+ --charset-assume, are checked. This will facilitate the addition of new
+ character sets (in the future).
+ Affects: dcmsr/apps/dsr2html.cc
+ dcmsr/apps/dsr2xml.cc
+
+- Support multiple values for SpecificCharacterSet:
+ Added support for multiple values being used for Specific Character Set
+ (0008,0005). This will allow for specifying ISO 2022 based character sets
+ as needed for Japanese, Korean and Chinese (i.e. code extensions).
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdoc.h
+ dcmsr/libsrc/dsrdoc.cc
+
+- Fixed "Type of modification" field:
+ Fixed value of "Type of modification" field for recently added macro
+ ENABLE_BUILTIN_DICTIONARY. Now it is consistent with other similar macros.
+ Affects: config/docs/macros.txt
+
+**** Changes from 2015.11.13 (onken)
+
+- Renamed some handle...() methods for consisteny:
+ The handle...() methods for FIND, MOVE and ACTION only receive the
+ corresponding message but do not handle them further (e.g. they do not send
+ a response). Thus the methods have been renamed to "receive...()" following
+ the scheme already used for the STORE message before.
+ Thanks to Ing-Long Eric Kuo <draconpern@hotmail.com> for the report.
+ Affects: dcmnet/include/dcmtk/dcmnet/scp.h
+ dcmnet/libsrc/scp.cc
+
+**** Changes from 2015.11.12 (riesmeier)
+
+- Report an error on missing "Rows" or "Columns":
+ Output a more specific error message to the logger if the mandatory attribute
+ Rows (0028,0010) and/or Columns (0028,0011) is missing.
+ Affects: dcmimgle/libsrc/diimage.cc
+
+**** Changes from 2015.11.09 (riesmeier)
+
+- Enhanced documentation on option --charset-assume:
+ Made it more explicit that the old terms (latin-1, greek, etc.) are still
+ supported for option --charset-assume (for reasons of backward compatibility).
+ Affects: dcmdata/docs/dcm2xml.man
+ dcmsr/docs/dsr2html.man
+ dcmsr/docs/dsr2xml.man
+
+**** Changes from 2015.11.03 (onken)
+
+- Fixed further possible issues with Segment Number.
+ Affects: dcmseg/include/dcmtk/dcmseg/segdoc.h
+ dcmseg/include/dcmtk/dcmseg/segment.h
+ dcmseg/libsrc/segdoc.cc
+ dcmseg/libsrc/segment.cc
+
+**** Changes from 2015.11.03 (eichelberg)
+
+- Fixed dcmdata_VRCompare test:
+ Fixed dcmdata_VRCompare unit test to catch a regression of the bug
+ in DcmItem::compare() fixed earlier today.
+ Affects: dcmdata/tests/tvrcomp.cc
+
+- Fixed bug in DcmItem::compare():
+ Fixed bug in DcmItem::compare() leading to incorrect comparison results.
+ Thanks to Robert Habrich <habrich@image-systems.biz> for the bug report and patch.
+ Affects: dcmdata/libsrc/dcitem.cc
+
+**** Changes from 2015.11.03 (onken)
+
+- Fixed segment access via Segment Number:
+ Fixed segment access via Segment Number which now assumes that the first
+ Segment Number is not 0 as in the underlying vector, but starts with 1.
+ Thanks to Andrey Fedorov <andrey.fedorov@gmail.com> for the report.
+ Affects: dcmseg/libsrc/segdoc.cc
+
+**** Changes from 2015.10.09 (riesmeier)
+
+- Check further dependence of command line options:
+ Made sure that option --attr-template-id is only used together with option
+ --write-template-id, i.e. check the same dependence as for option
+ --template-envelope. This is because --attr-template-id would have no effect
+ otherwise, which might be unexpected to the user.
+ Affects: dcmsr/apps/dsr2xml.cc
+
+**** Changes from 2015.10.08 (riesmeier)
+
+- Added guard to fix issue with llvm-gcc-4.2:
+ Added guard to fix linker error with llvm-gcc-4.2 on Mac OS X. This guard
+ checks for the use of a Clang compiler, which requires explicit template
+ instantiation (see commit a3dc5b5) while other compilers do not.
+ Thanks to Bill Lorensen <bill.lorensen@gmail.com> for the report and
+ Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for the patch.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+
+**** Changes from 2015.10.08 (onken)
+
+- Fixed error message.
+ Affects: dcmiod/libsrc/iodutil.cc
+
+**** Changes from 2015.10.01 (riesmeier)
+
+- Fixed issue with Clang 3.0/3.1 on Mac OS X:
+ Fixed linker error with Clang 3.0/3.1 on Mac OS X with support for "shared
+ libs" enabled. These older versions seem to require explicit instantiation
+ of the template class DSRTree<DSRDocumentTreeNode>, which serves as the
+ base class of DSRDocumentSubTree.
+ Thanks to Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> for
+ the patch.
+ Affects: dcmsr/include/dcmtk/dcmsr/dsrdocst.h
+
+**** Changes from 2015.09.25 (riesmeier)
+
+- Updated comments for TID 1607:
+ Updated comments for TID 1607 (Image Library Entry Descriptors for PET)
+ based on feedback and a proposed CP from David Clunie.
+ Affects: dcmsr/libcmr/tid1600.cc
+
+- Fixed code meaning for UCUM code "deg":
+ Fixed code meaning for UCUM code "deg" (based on a proposed CP from David
+ Clunie, editor of the DICOM standard).
+ Affects: dcmsr/include/dcmtk/dcmsr/codes/ucum.h
+
+- Made static method checkSOPInstance() virtual:
+ Made static method checkSOPInstance() virtual so derived classes can
+ overwrite (specialize) it. Also added a comment explaining this.
+ Affects: dcmnet/include/dcmtk/dcmnet/dstorscu.h
+
+- Fixed possible memory leak:
+ Made sure that all locally allocated memory is freed before returning from
+ a method with an error status. This possible memory leak was found in
+ DcmSCU::sendSTORERequest().
+ Affects: dcmnet/libsrc/scu.cc
+
+- Report an error if DICOM file cannot be loaded:
+ Report an error to the log output if a SOP instance to be sent (i.e. which
+ is part of the transfer list) cannot be loaded from the referenced DICOM file.
+ Affects: dcmnet/libsrc/dstorscu.cc
+
+- Changed API to use OFFilename instead of OFString:
+ Changed type of parameter of some methods that take a filename to use an
+ instance of OFFilename instead of OFString. This allows for passing also
+ a wide character string (on Windows) as well as a C string.
+ This is an onging process, so further API changes may follow.
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
+ dcmdata/libsrc/dcdatutl.cc
+ dcmnet/include/dcmtk/dcmnet/dstorscu.h
+ dcmnet/include/dcmtk/dcmnet/scu.h
+ dcmnet/libsrc/dstorscu.cc
+ dcmnet/libsrc/scu.cc
+
+- Fixed incorrect header and comments:
+ The helper functions were extracted from the DcmStoragesSCU class, so the
+ copyright header and comments were not correct. Also the name of the DCMTK
+ module was incorrect (it is "dcmdata" and not "dcmiod").
+ Affects: dcmdata/include/dcmtk/dcmdata/dcdatutl.h
+ dcmdata/libsrc/dcdatutl.cc
+
+- Fixed automatically generated CHANGES entry.
+ Affects: docs/CHANGES.361
+
+- Removed suffix "String" from "Other..." VRs:
+ Supplement 181 (Tractography Results Storage SOP Class) introduces a new
+ value representation (VR) "Other Long" (OL) and, thereby, removes the suffix
+ "String" from all "Other..." (Ox) VRs.
+ See DCMTK's issue tracker: Conformance #664
+ Affects: dcmdata/include/dcmtk/dcmdata/dcvr.h
+ dcmdata/include/dcmtk/dcmdata/dcvrobow.h
+ dcmdata/include/dcmtk/dcmdata/dcvrod.h
+ dcmdata/include/dcmtk/dcmdata/dcvrof.h
+
+- Updated latest tested CMake version:
+ Updated information on latest CMake version that has been tested to "3.3.2".
+ Affects: CMake/dcmtkPrepare.cmake
+
**** Changes from 2015.09.24 (schlamelcher)
- Updated CHANGES.361 for new development snapshot.
dcmsr/tests/tests.cc
dcmsr/tests/tsrtree.cc
-- Added method to look up a context group entr:
+- Added method to look up a context group entry:
Added method that can be used to look up a coded entry from a context group.
This method, therefore, allows for retrieving the "official" code meaning or
for automatically setting the "enhanced encoding mode".
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "Version @DCMTK_VERSION@ 20150924"
+PROJECT_NUMBER = "Version @DCMTK_VERSION@ 20160216"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "@DCMTK_VERSION@ 20150924"
+PROJECT_NUMBER = "@DCMTK_VERSION@ 20160216"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
-.TH "dcm2pdf" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcm2pdf" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcm2pdf \- Extract PDF file from DICOM encapsulated PDF
-.TH "dcm2pnm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcm2pnm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcm2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF or BMP
-.TH "dcm2xml" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcm2xml" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcm2xml \- Convert DICOM file and data set to XML
+Cc --charset-check-all
check all data elements with string values
- (default: only PN, LO, LT, SH, ST and UT)
+ (default: only PN, LO, LT, SH, ST, UC and UT)
# this option is only used for the mapping to an appropriate
# XML character encoding, but not for the conversion to UTF-8
.fi
.PP
.PP
-If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&.
+If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&. For reasons of backward compatibility with previous versions of this tool, the following terms are also supported and mapped automatically to the associated DICOM defined terms: latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew\&.
.PP
Multiple character sets using code extension techniques are not supported\&. If needed, option \fI--convert-to-utf8\fP can be used to convert the DICOM file or data set to UTF-8 encoding prior to the conversion to XML format\&. This is also useful for DICOMDIR files where each directory record can have a different character set\&.
.SH "LOGGING"
\fBxml2dcm\fP(1), \fBdcmconv\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 2002-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 2002-2015 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "dcmcjpeg" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmcjpeg" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmcjpeg \- Encode DICOM file to JPEG transfer syntax
-.TH "dcmcjpls" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmcjpls" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmcjpls \- Encode DICOM file to JPEG-LS transfer syntax
-.TH "dcmconv" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmconv" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmconv \- Convert DICOM file encoding
-.TH "dcmcrle" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmcrle" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmcrle \- Encode DICOM file to RLE transfer syntax
-.TH "dcmdjpeg" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdjpeg" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdjpeg \- Decode JPEG-compressed DICOM file
-.TH "dcmdjpls" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdjpls" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdjpls \- Decode JPEG-LS compressed DICOM file
-.TH "dcmdrle" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdrle" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdrle \- Decode RLE-compressed DICOM file
-.TH "dcmdspfn" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdspfn" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdspfn \- Export standard display curves to a text file
-.TH "dcmdump" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmdump" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmdump \- Dump DICOM file and data set
-.TH "dcmftest" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmftest" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmftest \- Test if file uses DICOM part 10 format
-.TH "dcmgpdir" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmgpdir" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmgpdir \- Create a general purpose DICOMDIR
-.TH "dcmj2pnm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmj2pnm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmj2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF, JPEG or BMP
-.TH "dcml2pnm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcml2pnm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcml2pnm \- Convert DICOM images to PGM/PPM, PNG, TIFF or BMP
-.TH "dcmmkcrv" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmmkcrv" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmmkcrv \- Add 2D curve data to image
-.TH "dcmmkdir" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmmkdir" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmmkdir \- Create a DICOMDIR file
.IP "\(bu" 2
General Purpose BD Interchange with MPEG-4 AVC/H\&.264 BD-Compatible HiP@Level4\&.1 (STD-GEN-BD-MPEG4-HPLV41BD)
.IP "\(bu" 2
+General Purpose BD Interchange with MPEG-4 AVC/H\&.264 HiP@Level4\&.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D)
+.IP "\(bu" 2
+General Purpose BD Interchange with MPEG-4 AVC/H\&.264 HiP@Level4\&.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D)
+.IP "\(bu" 2
+General Purpose BD Interchange with MPEG-4 AVC/H\&.264 Stereo HiP@Level4\&.2 (STD-GEN-BD-MPEG4-SHPLV42)
+.IP "\(bu" 2
General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG)
.IP "\(bu" 2
General Purpose USB and Flash Memory Interchange with JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K)
General Purpose BD Interchange with MPEG-4 AVC/H.264
BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD)
+ --general-bd-mpeg4-hp2d
+ General Purpose BD Interchange with MPEG-4 AVC/H.264
+ HiP@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D)
+
+ --general-bd-mpeg4-hp3d
+ General Purpose BD Interchange with MPEG-4 AVC/H.264
+ HiP@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D)
+
+ --general-bd-mpeg4-hpst
+ General Purpose BD Interchange with MPEG-4 AVC/H.264
+ Stereo HiP@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42)
+
-Pfl --usb-and-flash-jpeg
General Purpose USB/Flash Memory Interchange with JPEG
(STD-GEN-USB/MMC/CF/SD-JPEG)
\fBdcmgpdir\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 2001-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 2001-2016 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "dcmmklut" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmmklut" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmmklut \- Create DICOM look-up tables
-.TH "dcmodify" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmodify" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmodify \- Modify DICOM files
-.TH "dcmp2pgm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmp2pgm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmp2pgm \- Read DICOM image and presentation state and render bitmap
-.TH "dcmprscp" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmprscp" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmprscp \- DICOM basic grayscale print management SCP
-.TH "dcmprscu" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmprscu" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmprscu \- Print spooler for presentation state viewer
-.TH "dcmpschk" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpschk" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpschk \- Checking tool for presentation states
-.TH "dcmpsmk" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpsmk" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpsmk \- Create DICOM grayscale softcopy presentation state
-.TH "dcmpsprt" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpsprt" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpsprt \- Read DICOM images and presentation states and render print job
-.TH "dcmpsrcv" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpsrcv" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpsrcv \- Network receive for presentation state viewer
-.TH "dcmpssnd" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmpssnd" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmpssnd \- Network send for presentation state viewer
-.TH "dcmqridx" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmqridx" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmqridx \- Register a DICOM image file in an image database index file
-.TH "dcmqrscp" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmqrscp" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmqrscp \- DICOM image archive (central test node)
DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3
SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4
SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5
+TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6
RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67
SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1
SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2
RadiopharmaceuticalRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
+AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128
DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2
DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
+RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10
GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1
ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1
ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1
\fBdcmqridx\fP(1), \fBdcmqrti\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 1993-2015 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 1993-2016 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "dcmqrti" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmqrti" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmqrti \- The Terminal Initiator Telnet Client Program
-.TH "dcmquant" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmquant" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmquant \- Convert DICOM color images to palette color
-.TH "dcmrecv" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmrecv" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmrecv \- Simple DICOM storage SCP (receiver)
-.TH "dcmscale" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmscale" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmscale \- Scale DICOM images
-.TH "dcmsend" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmsend" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmsend \- Simple DICOM storage SCU (sender)
-.TH "dcmsign" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcmsign" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcmsign \- Sign and Verify DICOM Files
-.TH "dcod2lum" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dcod2lum" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dcod2lum \- Convert hardcopy characteristic curve file to softcopy format
-.TH "dconvlum" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dconvlum" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dconvlum \- Convert VeriLUM files to DCMTK display files
-.TH "drtdump" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "drtdump" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
drtdump \- Dump DICOM RT file and data set
-.TH "dsr2html" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dsr2html" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dsr2html \- Render DICOM SR file and data set to HTML/XHTML
--charset-check-all
check all data elements with string values
- (default: only PN, LO, LT, SH, ST and UT)
+ (default: only PN, LO, LT, SH, ST, UC and UT)
# this option is only used for the mapping to an appropriate
# HTML/XHTML character encoding, but not for the conversion
.PP
.PP
.nf
-ASCII (ISO_IR 6) => (none)
-UTF-8 "ISO_IR 192" => "UTF-8"
-ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
-ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
-ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
-ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
-ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
-Cyrillic "ISO_IR 144" => "ISO-8859-5"
-Arabic "ISO_IR 127" => "ISO-8859-6"
-Greek "ISO_IR 126" => "ISO-8859-7"
-Hebrew "ISO_IR 138" => "ISO-8859-8"
+ASCII (ISO_IR 6) => (none)
+UTF-8 "ISO_IR 192" => "UTF-8"
+ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
+ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
+ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
+ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
+ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
+Cyrillic "ISO_IR 144" => "ISO-8859-5"
+Arabic "ISO_IR 127" => "ISO-8859-6"
+Greek "ISO_IR 126" => "ISO-8859-7"
+Hebrew "ISO_IR 138" => "ISO-8859-8"
+Thai "ISO_IR 166" => "TIS-620"
+Japanese "ISO 2022 IR 13\ISO 2022 IR 87" => "ISO-2022-JP"
+Korean "ISO 2022 IR 6\ISO 2022 IR 149" => "ISO-2022-KR"
+Chinese "ISO 2022 IR 6\ISO 2022 IR 58" => "ISO-2022-CN"
+Chinese "GB18030" => "GB18030"
+Chinese "GBK" => "GBK"
.fi
.PP
.PP
-If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&.
+If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&. For reasons of backward compatibility with previous versions of this tool, the following terms are also supported and mapped automatically to the associated DICOM defined terms: latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew\&.
.PP
-Multiple character sets are not supported (only the first attribute value is mapped in case of value multiplicity)\&. If needed, option \fI--convert-to-utf8\fP can be used to convert the DICOM file or data set to UTF-8 encoding prior to the rendering to HTML/XHTML format\&.
+Option \fI--convert-to-utf8\fP can be used to convert the DICOM file or data set to UTF-8 encoding prior to the rendering to HTML/XHTML format\&.
.SH "LOGGING"
.PP
The level of logging output of the various command line tools and underlying libraries can be specified by the user\&. By default, only errors and warnings are written to the standard error stream\&. Using option \fI--verbose\fP also informational messages like processing details are reported\&. Option \fI--debug\fP can be used to get more details on the internal activity, e\&.g\&. for debugging purposes\&. Other logging levels can be selected using option \fI--log-level\fP\&. In \fI--quiet\fP mode only fatal errors are reported\&. In such very severe error events, the application will usually terminate\&. For more details on the different logging levels, see documentation of module 'oflog'\&.
\fBdcmconv\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 2000-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 2000-2015 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "dsr2xml" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dsr2xml" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dsr2xml \- Convert DICOM SR file and data set to XML
+Cc --charset-check-all
check all data elements with string values
- (default: only PN, LO, LT, SH, ST and UT)
+ (default: only PN, LO, LT, SH, ST, UC and UT)
# this option is only used for the mapping to an appropriate
# XML character encoding, but not for the conversion to UTF-8
.PP
.PP
.nf
-ASCII (ISO_IR 6) => "UTF-8"
-UTF-8 "ISO_IR 192" => "UTF-8"
-ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
-ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
-ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
-ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
-ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
-Cyrillic "ISO_IR 144" => "ISO-8859-5"
-Arabic "ISO_IR 127" => "ISO-8859-6"
-Greek "ISO_IR 126" => "ISO-8859-7"
-Hebrew "ISO_IR 138" => "ISO-8859-8"
+ASCII (ISO_IR 6) => "UTF-8"
+UTF-8 "ISO_IR 192" => "UTF-8"
+ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
+ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
+ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
+ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
+ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
+Cyrillic "ISO_IR 144" => "ISO-8859-5"
+Arabic "ISO_IR 127" => "ISO-8859-6"
+Greek "ISO_IR 126" => "ISO-8859-7"
+Hebrew "ISO_IR 138" => "ISO-8859-8"
+Thai "ISO_IR 166" => "TIS-620"
+Japanese "ISO 2022 IR 13\ISO 2022 IR 87" => "ISO-2022-JP"
+Korean "ISO 2022 IR 6\ISO 2022 IR 149" => "ISO-2022-KR"
+Chinese "ISO 2022 IR 6\ISO 2022 IR 58" => "ISO-2022-CN"
+Chinese "GB18030" => "GB18030"
+Chinese "GBK" => "GBK"
.fi
.PP
.PP
-If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&.
+If this DICOM attribute is missing in the input file, although needed, option \fI--charset-assume\fP can be used to specify an appropriate character set manually (using one of the DICOM defined terms)\&. For reasons of backward compatibility with previous versions of this tool, the following terms are also supported and mapped automatically to the associated DICOM defined terms: latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew\&.
.PP
-Multiple character sets are not supported (only the first attribute value is mapped in case of value multiplicity)\&. If needed, option \fI--convert-to-utf8\fP can be used to convert the DICOM file or data set to UTF-8 encoding prior to the conversion to XML format\&.
+Option \fI--convert-to-utf8\fP can be used to convert the DICOM file or data set to UTF-8 encoding prior to the conversion to XML format\&.
.SS "ERROR HANDLING"
Please be careful with the processing options \fI--unknown-relationship\fP, \fI--invalid-item-value\fP, \fI--ignore-constraints\fP, \fI--ignore-item-errors\fP and \fI--skip-invalid-items\fP since they disable certain validation checks on the DICOM SR input file and, therefore, might result in non-standard conformant output\&. However, there might be reasons for using one or more of these options, e\&.g\&. in order to read and process an incorrectly encoded SR document\&.
.SS "Limitations"
\fBxml2dsr\fP(1), \fBdcmconv\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 2000-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 2000-2015 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "dsrdump" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dsrdump" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dsrdump \- Dump DICOM SR file and data set
-.TH "dump2dcm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "dump2dcm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
dump2dcm \- Convert ASCII dump to DICOM file
between the two characters. If the VR can be determined from
the tag, this part of a line is optional.
Value: There are several rules for writing values:
- 1. US, SS, SL, UL, FD, FL are written as decimal strings that
- can be read by scanf().
+ 1. US, SS, SL, UL, FD, FL, OD, OF and OL are written as decimal
+ strings that can be read by scanf().
2. AT is written as '(gggg,eeee)' with additional spaces
stripped off automatically and gggg and eeee being decimal
strings that can be read by scanf().
\fBdcmdump\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 1996-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 1996-2016 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "echoscu" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "echoscu" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
echoscu \- DICOM verification (C-ECHO) SCU
-.TH "findscu" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "findscu" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
findscu \- DICOM query (C-FIND) SCU
-.TH "getscu" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "getscu" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
getscu \- DICOM retrieve (C-GET) SCU
-.TH "img2dcm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "img2dcm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
img2dcm \- Convert standard image formats into DICOM format
-.TH "movescu" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "movescu" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
movescu \- DICOM retrieve (C-MOVE) SCU
-.TH "pdf2dcm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "pdf2dcm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
pdf2dcm \- Convert PDF file to DICOM
-.TH "storescp" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "storescp" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
storescp \- DICOM storage (C-STORE) SCP
DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3
SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4
SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5
+TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6
RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67
SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1
SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2
RadiopharmaceuticalRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70
+AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128
DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2
DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
+RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10
GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1
ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1
ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1
\fBstorescu\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 1996-2015 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 1996-2016 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
-.TH "storescu" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "storescu" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
storescu \- DICOM storage (C-STORE) SCU
-.TH "termscu" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "termscu" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
termscu \- DICOM termination SCU
-.TH "wlmscpfs" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "wlmscpfs" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
wlmscpfs \- DICOM Basic Worklist Management SCP (based on data files)
-.TH "xml2dcm" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "xml2dcm" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
xml2dcm \- Convert XML document to DICOM file or data set
-.TH "xml2dsr" 1 "Thu Sep 24 2015" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
+.TH "xml2dsr" 1 "Tue Feb 16 2016" "Version 3.6.1" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH NAME
xml2dsr \- Convert DICOM SR file and data set to XML
Arabic "ISO_IR 127" (ISO-8859-6)
Greek "ISO_IR 126" (ISO-8859-7)
Hebrew "ISO_IR 138" (ISO-8859-8)
+Thai "ISO_IR 166" (TIS-620)
+Japanese "ISO 2022 IR 13\ISO 2022 IR 87" (ISO-2022-JP)
+Korean "ISO 2022 IR 6\ISO 2022 IR 149" (ISO-2022-KR)
+Chinese "ISO 2022 IR 6\ISO 2022 IR 58" (ISO-2022-CN)
+Chinese "GB18030" (GB18030)
+Chinese "GBK" (GBK)
.fi
.PP
-.PP
-Multiple character sets are not supported (only the first value of the 'Specific Character Set' is used for the character encoding in case of value multiplicity)\&.
.SS "Compression"
If libxml is compiled with zlib support, the input file (\fIxmlfile-in\fP) can also be compressed with ZIP, which usually results in much smaller files\&. See output of option \fI--version\fP in order to check whether zlib support is available\&.
.SS "Limitations"
\fBdsr2xml\fP(1)
.SH "COPYRIGHT"
.PP
-Copyright (C) 2003-2014 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
+Copyright (C) 2003-2015 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.
../../ofstd/include/dcmtk/ofstd/ofstring.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../../ofstd/include/dcmtk/ofstd/ofdate.h \
../../ofstd/include/dcmtk/ofstd/oftime.h ../include/dcmtk/oflog/oflog.h \
../include/dcmtk/oflog/logger.h ../include/dcmtk/oflog/config.h \
../../ofstd/include/dcmtk/ofstd/oflist.h \
../../ofstd/include/dcmtk/ofstd/oftraits.h \
../../ofstd/include/dcmtk/ofstd/ofcond.h \
+ ../../ofstd/include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/oflog/internal/internal.h ../include/dcmtk/oflog/ndc.h \
../include/dcmtk/oflog/mdc.h ../../ofstd/include/dcmtk/ofstd/ofmap.h \
../../ofstd/include/dcmtk/ofstd/ofutil.h \
/*
*
- * Copyright (C) 2011-2012, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* encoding specified by 'codePage')
* @param toString reference to variable in which the pointer to the
* converted string (using the UTF-16 character
- * encoding) is stored. Might be NULL in case of
- * error. Please note that the buffer is created
- * with new[] and has to be deleted by the caller.
+ * encoding) is stored. Might only be NULL if memory
+ * is exhausted. Please note that the buffer is
+ * created with new[] and has to be deleted by the
+ * caller.
* @param toLength number of converted characters, i.e.\ length of
* 'toString'
* @param codePage identifier of the code page to be used for the
* without the trailing NULL byte)
* @param toString reference to variable in which the pointer to the
* converted string (using the UTF-16 character
- * encoding) is stored. Might be NULL in case of
- * error. Please note that the buffer is created
- * with new[] and has to be deleted by the caller.
+ * encoding) is stored. Might only be NULL if memory
+ * is exhausted. Please note that the buffer is
+ * created with new[] and has to be deleted by the
+ * caller.
* @param toLength number of converted characters, i.e.\ length of
* 'toString'
* @param codePage identifier of the code page to be used for the
/*
*
- * Copyright (C) 1998-2012, OFFIS e.V.
+ * Copyright (C) 1998-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
PVS_Overflow
};
- /** mode for findOption method
+ /** mode for findOption() method
*/
enum E_FindOptionMode
{
* @param optDescr description of command line option (use '\\n' for line break)
* @param flags optional flags (see AF_xxx below)
*
- ** @return OFTrue if succesfully added
+ ** @return OFTrue if successfully added
*/
OFBool addOption(const char *longOpt,
const char *shortOpt,
* @param optDescr description of command line option (use '\\n' for line break)
* @param flags optional flags (see AF_xxx below)
*
- ** @return OFTrue if succesfully added
+ ** @return OFTrue if successfully added
*/
OFBool addOption(const char *longOpt,
const char *shortOpt,
* @param optDescr description of command line option (use '\\n' for line break)
* @param flags optional flags (see AF_xxx below)
*
- ** @return OFTrue if succesfully added
+ ** @return OFTrue if successfully added
*/
OFBool addOption(const char *longOpt,
const int valueCount,
* @param optDescr description of command line option (use '\\n' for line break)
* @param flags optional flags (see AF_xxx below)
*
- ** @return OFTrue if succesfully added
+ ** @return OFTrue if successfully added
*/
OFBool addOption(const char *longOpt,
const char *optDescr,
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParam(const int pos,
OFCmdSignedInt &value);
* @param low minimum boundary for value (used for range check)
* @param incl if OFTrue 'low' value is valid (included), otherwise invalid
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParamAndCheckMin(const int pos,
OFCmdSignedInt &value,
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
* @param low minimum boundary for value (used for range check, boundary included)
- * @param high maximum boundary for value (dito)
+ * @param high maximum boundary for value (ditto)
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParamAndCheckMinMax(const int pos,
OFCmdSignedInt &value,
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParam(const int pos,
OFCmdUnsignedInt &value);
* @param low minimum boundary for value (used for range check)
* @param incl if OFTrue 'low' value is valid (included), otherwise invalid
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParamAndCheckMin(const int pos,
OFCmdUnsignedInt &value,
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
* @param low minimum boundary for value (used for range check, boundary included)
- * @param high maximum boundary for value (dito)
+ * @param high maximum boundary for value (ditto)
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParamAndCheckMinMax(const int pos,
OFCmdUnsignedInt &value,
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParam(const int pos,
OFCmdFloat &value);
* @param low minimum boundary for value (used for range check)
* @param incl if OFTrue 'low' value is valid (included), otherwise invalid
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParamAndCheckMin(const int pos,
OFCmdFloat &value,
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
* @param low minimum boundary for value (used for range check, boundary included)
- * @param high maximum boundary for value (dito)
+ * @param high maximum boundary for value (ditto)
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParamAndCheckMinMax(const int pos,
OFCmdFloat &value,
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParam(const int pos,
const char *&value);
** @param pos position of parameter (1..n)
* @param value reference to variable where the value should be stored
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParam(const int pos,
OFCmdString &value);
/** gets value of specified parameter as an instance of OFFilename.
- * Please note that on Windows systems the returned filename might also contain a wide character
- * version (UTF-16) as an alternative representation. See getWideCharMode().
+ * Please note that on Windows systems the returned filename might also contain a wide
+ * character version (UTF-16) as an alternative representation. See getWideCharMode().
*
- ** @param pos position of parameter (1..n)
- * @param value reference to variable where the value should be stored
+ ** @param pos position of parameter (1..n)
+ * @param filename reference to variable where the value should be stored
*
- ** @return status of get/conversion, PVS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, PVS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ParamValueStatus getParam(const int pos,
OFFilename &filename);
* predecessor of the optional defined reference parameter 'pos') and goes to the
* first one.
*
- ** @param longOpt name of option (in long format) to be checked
- * @param pos position of reference parameter
- * (default: all parameters; if value is negative option must be a direct
- * predecessor of the specified reference parameter '-pos', no further
- * search processes will be performed; if search direction is left to right
- * this parameter is ignored, also option blocks are not supported in this
- * case)
- * @param mode find option mode (used to support option blocks and reverse search direction)
+ ** @param longOpt name of option (in long format) to be checked
+ * @param pos position of reference parameter
+ * (default: all parameters; if value is negative option must be a
+ * direct predecessor of the specified reference parameter '-pos',
+ * no further search processes will be performed; if search direction
+ * is left to right this parameter is ignored, also option blocks are
+ * not supported in this case)
+ * @param mode find option mode (used to support option blocks and reverse search
+ * direction)
*
** @return OFTrue if option exists, OFFalse otherwise
*/
*
** @param value reference to signed integer variable where the value should be stored
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValue(OFCmdSignedInt &value);
* @param low minimum boundary for value (used for range check)
* @param incl if OFTrue 'low' value is valid (included), otherwise invalid
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValueAndCheckMin(OFCmdSignedInt &value,
const OFCmdSignedInt low,
*
** @param value reference to signed integer variable where the value should be stored
* @param low minimum boundary for value (used for range check, boundary included)
- * @param high maximum boundary for value (dito)
+ * @param high maximum boundary for value (ditto)
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValueAndCheckMinMax(OFCmdSignedInt &value,
const OFCmdSignedInt low,
*
** @param value reference to unsigned integer variable where the value should be stored
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValue(OFCmdUnsignedInt &value);
* @param low minimum boundary for value (used for range check)
* @param incl if OFTrue 'low' value is valid (included), otherwise invalid
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValueAndCheckMin(OFCmdUnsignedInt &value,
const OFCmdUnsignedInt low,
*
** @param value reference to unsigned integer variable where the value should be stored
* @param low minimum boundary for value (used for range check, boundary included)
- * @param high maximum boundary for value (dito)
+ * @param high maximum boundary for value (ditto)
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValueAndCheckMinMax(OFCmdUnsignedInt &value,
const OFCmdUnsignedInt low,
*
** @param value reference to floating point variable where the value should be stored
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValue(OFCmdFloat &value);
* @param low minimum boundary for value (used for range check)
* @param incl if OFTrue 'low' value is valid (included), otherwise invalid
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValueAndCheckMin(OFCmdFloat &value,
const OFCmdFloat low,
*
** @param value reference to floating point variable where the value should be stored
* @param low minimum boundary for value (used for range check, boundary included)
- * @param high maximum boundary for value (dito)
+ * @param high maximum boundary for value (ditto)
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValueAndCheckMinMax(OFCmdFloat &value,
const OFCmdFloat low,
*
** @param value reference to C string variable where the value should be stored
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValue(const char *&value);
*
** @param value reference to C++ string variable where the value should be stored
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValue(OFCmdString &value);
/** returns next argument as an instance of OFFilename.
- * Please note that on Windows systems the returned filename might also contain a wide character
- * version (UTF-16) as an alternative representation. See getWideCharMode().
+ * Please note that on Windows systems the returned filename might also contain a wide
+ * character version (UTF-16) as an alternative representation. See getWideCharMode().
*
- ** @param value reference to variable where the value should be stored
+ ** @param filename reference to variable where the value should be stored
*
- ** @return status of get/conversion, VS_Normal if successful (use getStatusString for error string)
+ ** @return status of get/conversion, VS_Normal if successful
+ * (use getStatusString() for error string)
*/
E_ValueStatus getValue(OFFilename &filename);
// --- parsing command line
/** parses specified command line arguments (argc, argv). Sets 'WideCharMode' to OFFalse.
- * Additionally, create internal structures for evaluation and return status indicating any errors
- * that occurred during the parse process.
+ * Additionally, create internal structures for evaluation and return status indicating
+ * any errors that occurred during the parse process.
*
** @param argCount number of command line arguments stored in argValue
* @param argValue array where the command line arguments are stored
* @param flags optional flags affecting the parse process (see PF_xxx below)
- * @param startPos index of first argument which should be parsed (starting from 0, default: 1)
+ * @param startPos index of first argument which should be parsed (starting from 0,
+ * default: 1)
*
- ** @return status of parse process, PS_Normal if successful (use getStatusString for error string).
- * If an exclusive option is used the status code PS_ExclusiveOption is returned.
+ ** @return status of parse process, PS_Normal if successful
+ * (use getStatusString() for error string). If an exclusive option is used,
+ * the status code PS_ExclusiveOption is returned.
*/
E_ParseStatus parseLine(int argCount,
char *argValue[],
#ifdef DCMTK_USE_WCHAR_T
/** parses specified command line arguments (argc, argv). Sets 'WideCharMode' to OFTrue.
- * This is a Windows-specific version supporting the wide character encoding (UTF-16). Internally,
- * all character strings are stored in UTF-8, because this Unicode encoding is supported by DICOM.
- * However, there are getValue() and getParam() methods that allow for accessing filenames with
- * wide character encoding (UTF-16).
- * Additionally, create internal structures for evaluation and return status indicating any errors
- * that occurred during the parse process.
+ * This is a Windows-specific version supporting the wide character encoding (UTF-16).
+ * Internally, all character strings are stored in UTF-8, because this Unicode encoding is
+ * supported by DICOM. However, there are getValue() and getParam() methods that allow for
+ * accessing filenames with wide character encoding (UTF-16).
+ * Additionally, create internal structures for evaluation and return status indicating any
+ * errors that occurred during the parse process.
*
** @param argCount number of command line arguments stored in argValue
* @param argValue array where the command line arguments are stored
* @param flags optional flags affecting the parse process (see PF_xxx below)
- * @param startPos index of first argument which should be parsed (starting from 0, default: 1)
+ * @param startPos index of first argument which should be parsed (starting from 0,
+ * default: 1)
*
- ** @return status of parse process, PS_Normal if successful (use getStatusString for error string).
- * If an exclusive option is used the status code PS_ExclusiveOption is returned.
+ ** @return status of parse process, PS_Normal if successful
+ * (use getStatusString() for error string). If an exclusive option is used,
+ * the status code PS_ExclusiveOption is returned.
*/
E_ParseStatus parseLine(int argCount,
wchar_t *argValue[],
// --- get usage/status strings
/** returns command line syntax as a C++ string (single text line).
- * Text consists of "[options]" (if defined by addOption) and all parameters defined by addParam.
+ * Text consists of "[options]" (if defined by addOption()) and all parameters defined
+ * by addParam().
*
** @param syntaxStr reference to C++ string where the text should be stored
*/
void getSyntaxString(OFString &syntaxStr) const;
/** returns description of all options as a C++ string (multiple text lines).
- * Text consists of group headings, short and long option names, option descriptions and additional
- * option values.
+ * Text consists of group headings, short and long option names, option descriptions and
+ * additional option values.
*
** @param optionStr reference to C++ string where the text should be stored
*/
*/
void getParamString(OFString ¶mStr) const;
- /** returns status of parseLine as a C++ string
+ /** returns status of parseLine() as a C++ string
*
- ** @param status value returned by method parseLine
+ ** @param status value returned by method parseLine()
* @param statusStr reference to C++string where the text should be stored
*/
void getStatusString(const E_ParseStatus status,
OFString &statusStr);
- /** returns status of getParam as a C++ string
+ /** returns status of getParam() as a C++ string
*
- ** @param status value returned by method getParam
+ ** @param status value returned by method getParam()
* @param statusStr reference to C++string where the text should be stored
*/
void getStatusString(const E_ParamValueStatus status,
OFString &statusStr);
- /** returns status of getValue as a C++ string
+ /** returns status of getValue() as a C++ string
*
- ** @param status value returned by method getValue
+ ** @param status value returned by method getValue()
* @param statusStr reference to C++string where the text should be stored
*/
void getStatusString(const E_ValueStatus status,
OFString &statusStr);
- // --- flags (used for method parseLine)
+ // --- flags (used for method parseLine())
/// parsing flag to expand wildcard under Windows.
/// (not used anymore, only available for reasons of backward compatibility;
/// disable support for command files ("@filename") containing additional arguments
static const int PF_NoCommandFiles;
- // --- flags (used for method addOption)
+ // --- flags (used for method addOption())
- /// exclusive option that overrides any other option (e.g. "--help")
+ /// exclusive option that overrides any other option (e.g.\ "--help")
static const int AF_Exclusive;
/// internal option that is not shown in the syntax usage output
static const int AF_Internal;
protected:
- /** checks whether given option is valid (starting with an option char and not followed by a number)
+ /** checks whether given option is valid (starting with an option char and not
+ * followed by a number)
*/
OFBool checkOption(const OFString &option,
const OFBool mode = OFTrue) const;
unsigned int &longCols,
unsigned int &shortCols) const;
- /** checks whether number of parameters in parsed command line is within the range of min/max (see below)
+ /** checks whether number of parameters in parsed command line is within the range
+ * of min/max (see below)
*/
E_ParseStatus checkParamCount();
*/
OFBool getLastArg(OFString &arg);
- /** returns name of parameter which is missed in the parsed command line (used for error output)
+ /** returns name of parameter which is missed in the parsed command line
+ * (used for error output)
*/
OFBool getMissingParam(OFString ¶m);
/// OFTrue if option block is active, OFFalse otherwise
OFBool OptionBlockMode;
- /// C++ string conisting of all valid characters introducing an option
+ /// C++ string consisting of all valid characters introducing an option
OFString OptionChars;
/// OFTrue if an "exclusive" option is used in the command line, OFFalse otherwise
/*
*
- * Copyright (C) 2006-2014, OFFIS e.V.
+ * Copyright (C) 2006-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
* alternative representation. Only works on Windows systems.
*/
OFFilename(const wchar_t *filename,
- const OFBool convert = OFFalse);
+ const OFBool convert = OFTrue);
#endif
/** copy constructor
* representation. Only works on Windows systems.
*/
void set(const wchar_t *filename,
- const OFBool convert = OFFalse);
+ const OFBool convert = OFTrue);
#endif
private:
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015, OFFIS e.V.
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: ofstd
+ *
+ * Author: Jan Schlamelcher
+ *
+ * Purpose: Platform independent definition of basic functions declared
+ * in <math.h> resp. <cmath>.
+ *
+ */
+
+
+#ifndef OFMATH_H
+#define OFMATH_H
+
+#include "dcmtk/config/osconfig.h"
+#include "dcmtk/ofstd/oftypes.h" /* for OFBool */
+#include "dcmtk/ofstd/oftraits.h" /* for OFenable_if, ... */
+
+class DCMTK_OFSTD_EXPORT OFMath
+{
+
+public:
+
+#ifndef DOXYGEN
+ static OFBool (isnan) (float f);
+ static OFBool (isnan) (double d);
+ template<typename Integer>
+ static inline OFTypename OFenable_if<OFis_integral<Integer>::value,OFBool>::type
+ (isnan) ( const Integer i ) { return (isnan) ( OFstatic_cast( double, i ) ); }
+
+ static OFBool (isinf) (float f);
+ static OFBool (isinf) (double d);
+ template<typename Integer>
+ static inline OFTypename OFenable_if<OFis_integral<Integer>::value,OFBool>::type
+ (isinf) ( const Integer i ) { return (isinf) ( OFstatic_cast( double, i ) ); }
+#else
+ /** Determines if the given floating point number is a not-a-number (NaN) value.
+ * @param f the floating point value to inspect.
+ * @return OFTrue if f is a NaN, OFFalse otherwise.
+ */
+ static OFBool isnan( float f );
+
+ /** Determines if the given floating point number is a not-a-number (NaN) value.
+ * @param d the floating point value to inspect.
+ * @return OFTrue if d is a NaN, OFFalse otherwise.
+ */
+ static OFBool isnan( double d );
+
+ /** Casts the argument to double and calls OFMath::isnan(double) on the result.
+ * @param i an integer, i.e. <kbd>OFis_integral<Integer>::value</kbd> equals <kbd>OFTrue</kbd>.
+ * @return OFMath::isnan(OFstatic_cast(double,i)).
+ */
+ template<typename Integer>
+ static OFBool isnan( Integer i );
+
+ /** Determines if the given floating point number is a positive or negative infinity.
+ * @param f the floating point value to inspect.
+ * @return OFTrue if f is infinite, OFFalse otherwise.
+ */
+ static OFBool isinf( float f );
+
+ /** Determines if the given floating point number is a positive or negative infinity.
+ * @param d the floating point value to inspect.
+ * @return OFTrue if d is infinite, OFFalse otherwise.
+ */
+ static OFBool isinf( double d );
+
+ /** Casts the argument to double and calls OFMath::isinf(double) on the result.
+ * @param i an integer, i.e. <kbd>OFis_integral<Integer>::value</kbd> equals <kbd>OFTrue</kbd>.
+ * @return OFMath::isinf(OFstatic_cast(double,i)).
+ */
+ template<typename Integer>
+ static OFBool isinf( Integer i );
+#endif
+};
+
+#endif // OFMATH_H
/*
*
- * Copyright (C) 1997-2011, OFFIS e.V.
+ * Copyright (C) 1997-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
#include "dcmtk/ofstd/ofdefine.h"
#if defined(HAVE_STL) || defined(HAVE_STL_STACK)
-// It is possible to use the standard template library list class since the
+// It is possible to use the standard template library list class since the
// interface is nearly identical.
// Important: If you want to use the standard template library, no variable
-// in a namespace with using a list shall have the name stack
+// in a namespace with using a list shall have the name stack
#include <stack>
#define OFStack std::stack
#else
#endif
-/** non-template single linked list class, used to store elements of a stack.
+/** non-template single linked list class, used to store elements of a stack.
* Implicitly used by OFStack, should not be called by users.
*/
struct OFStackLinkBase
}
private:
- /// private undefined copy constructor
+ /// private undefined copy constructor
OFStackLinkBase(const OFStackLinkBase &);
- /// private undefined copy assignment operator
+ /// private undefined copy assignment operator
OFStackLinkBase &operator=(const OFStackLinkBase &);
};
}
/** checks if the stack is empty
- * @return true if stack is emtpy, false otherwise
+ * @return true if stack is empty, false otherwise
*/
OFBool base_empty() const { return head == NULL; }
/** returns element on top of stack.
* precondition: stack is not empty
+ * @return element on top of stack.
*/
- OFStackLinkBase * base_top()
+ OFStackLinkBase * base_top()
{
- assert(head!=NULL);
- return head;
+ assert(head!=NULL);
+ return head;
+ }
+
+ /** returns element on top of stack.
+ * precondition: stack is not empty
+ * @return element on top of stack.
+ */
+ const OFStackLinkBase * base_top() const
+ {
+ assert(head!=NULL);
+ return head;
}
/** pushes element onto stack.
head = element;
stackSize++;
}
-
+
/** removes top element from stack.
* precondition: stack not empty.
*/
/// pointer to top element of stack
OFStackLinkBase * head;
-
+
/// size of stack
size_t stackSize;
private:
-
- /// private undefined copy constructor
+
+ /// private undefined copy constructor
OFStackBase(const OFStackBase &);
- /// private undefined copy assignment operator
+ /// private undefined copy assignment operator
OFStackBase &operator=(const OFStackBase &);
};
}
private:
-
- /// private undefined copy constructor
+
+ /// private undefined copy constructor
OFStackLink(const OFStackLink<T> &);
- /// private undefined copy assignment operator
+ /// private undefined copy assignment operator
OFStackLink<T> &operator=(const OFStackLink<T> &);
};
public:
- /// Default constructor
+ /// default constructor
OFStack() {};
/// copy constructor
copy(x);
}
- /// Assignment operator
+ /// assignment operator
OFStack<T> &operator=(const OFStack<T> &x)
{
if (this != &x)
* This method may not be called if the stack is empty.
* @return reference to top element
*/
- T & top()
- {
- return (OFstatic_cast(OFStackLink<T> *, OFStackBase::base_top()))->info;
+ T & top()
+ {
+ return (OFstatic_cast(OFStackLink<T> *, OFStackBase::base_top()))->info;
+ }
+
+ /** returns a const reference to the top element on the stack.
+ * This method may not be called if the stack is empty.
+ * @return const reference to top element
+ */
+ const T & top() const
+ {
+ return (OFstatic_cast(const OFStackLink<T> *, OFStackBase::base_top()))->info;
}
/** inserts a new element on top of the stack. The value of
* the new element is copy constructed from the given argument.
* @param x value to be pushed (copied) onto the stack
*/
- void push(const T & x)
- {
+ void push(const T & x)
+ {
OFStackBase::base_push(new OFStackLink<T>(x));
}
/** removes the top element from the stack.
* This method may not be called if the stack is empty.
- */
+ */
void pop() { OFStackBase::base_pop(); }
private:
- /** copy assignment of a stack.
+ /** copy assignment of a stack.
* @param x stack to be copied
* @return dummy value, required to keep Sun CC 2.0.1 happy
*/
OFStackLinkBase * oldPtr = x.head->next;
while (oldPtr)
{
- newPtr->next =
- new OFStackLink<T>((OFstatic_cast(OFStackLink<T>*, oldPtr))->info);
+ newPtr->next = new OFStackLink<T>((OFstatic_cast(OFStackLink<T>*, oldPtr))->info);
oldPtr = oldPtr->next;
newPtr = newPtr->next;
}
#include "dcmtk/ofstd/oftypes.h" /* for OFBool */
#include "dcmtk/ofstd/oftraits.h" /* for OFenable_if, ... */
#include "dcmtk/ofstd/ofcond.h" /* for OFCondition */
+#include "dcmtk/ofstd/oflimits.h" /* for OFnumeric_limits<T>::max() */
+#define INCLUDE_CASSERT
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDIO
#define INCLUDE_CSTRING
/** convert character string to an octal format stream.
* All non-ASCII and control characters (code < #32 and >= #127) are converted to their
- * octal representation, i.e. to '\ooo' where 'ooo' are the three octal digits of the
+ * octal representation, i.e. to '\\ooo' where 'ooo' are the three octal digits of the
* character. All other characters are output as is. See section 6.1.2.3 in DICOM PS 3.5.
** @param out stream used for the output
* @param sourceString source string to be converted. May contain one or more NULL bytes.
/** convert character string to an octal format string.
* All non-ASCII and control characters (code < #32 and >= #127) are converted to their
- * octal representation, i.e. to '\ooo' where 'ooo' are the three octal digits of the
+ * octal representation, i.e. to '\\ooo' where 'ooo' are the three octal digits of the
* character. All other characters are output as is. See section 6.1.2.3 in DICOM PS 3.5.
** @param sourceString source string to be converted. May contain one or more NULL bytes.
* @param octalString reference to character string where the result should be stored
static size_t decodeBase64(const OFString &data,
unsigned char *&result);
-
-#ifndef DOXYGEN
- static OFBool (isnan) (float f);
- static OFBool (isnan) (double d);
- template<typename Integer>
- static inline OFTypename OFenable_if<OFis_integral<Integer>::value,OFBool>::type
- (isnan) ( const Integer i ) { return (isnan) ( OFstatic_cast( double, i ) ); }
-
- static OFBool (isinf) (float f);
- static OFBool (isinf) (double d);
- template<typename Integer>
- static inline OFTypename OFenable_if<OFis_integral<Integer>::value,OFBool>::type
- (isinf) ( const Integer i ) { return (isinf) ( OFstatic_cast( double, i ) ); }
-#else
- /** Determines if the given floating point number is a not-a-number (NaN) value.
- * @param f the floating point value to inspect.
- * @return OFTrue if f is a NaN, OFFalse otherwise.
- */
- static OFBool isnan( float f );
-
- /** Determines if the given floating point number is a not-a-number (NaN) value.
- * @param d the floating point value to inspect.
- * @return OFTrue if d is a NaN, OFFalse otherwise.
- */
- static OFBool isnan( double d );
-
- /** Casts the argument to double and calls OFStandard::isnan(double) on the result.
- * @param i an integer, i.e. <kbd>OFis_integral<Integer>::value</kbd> equals <kbd>OFTrue</kbd>.
- * @return OFStandard::isnan(OFstatic_cast(double,i)).
- */
- template<typename Integer>
- static OFBool isnan( Integer i );
-
- /** Determines if the given floating point number is a positive or negative infinity.
- * @param f the floating point value to inspect.
- * @return OFTrue if f is infinite, OFFalse otherwise.
- */
- static OFBool isinf( float f );
-
- /** Determines if the given floating point number is a positive or negative infinity.
- * @param d the floating point value to inspect.
- * @return OFTrue if d is infinite, OFFalse otherwise.
- */
- static OFBool isinf( double d );
-
- /** Casts the argument to double and calls OFStandard::isinf(double) on the result.
- * @param i an integer, i.e. <kbd>OFis_integral<Integer>::value</kbd> equals <kbd>OFTrue</kbd>.
- * @return OFStandard::isinf(OFstatic_cast(double,i)).
- */
- template<typename Integer>
- static OFBool isinf( Integer i );
-#endif
-
/** converts a floating-point number from an ASCII
* decimal representation to internal double-precision format.
* Unlike the atof() function defined in Posix, this implementation
*/
static long getProcessID();
- /** check whether the addition of two 32-bit integers yields in an overflow
+ /** check whether the addition of two 32-bit integers yields in an overflow
* @param summand1 first integer value to be added
* @param summand2 second integer value to be added
* @return OFTrue if an overflow occurred during the addition, OFFalse otherwise
return (0xffffffff - summand1 < summand2);
}
+ /** check whether subtraction is safe (i.e.\ no underflow occurs) and if so,
+ * perform it (i.e.\ compute minuend-subtrahend=difference). Only works for
+ * unsigned types.
+ * @param minuend number to subtract from
+ * @param subtrahend number to subtract from minuend
+ * @param difference difference, if subtraction is safe, otherwise the
+ * parameter value is not touched by the function
+ * @return OFTrue if subtraction is safe and could be performed, OFFalse
+ * otherwise
+ */
+ template <typename T>
+ static OFBool
+ safeSubtract(T minuend, T subtrahend, T& difference)
+ {
+ assert(!OFnumeric_limits<T>::is_signed);
+ if (minuend < subtrahend) {
+ return OFFalse;
+ } else {
+ difference = minuend - subtrahend;
+ return OFTrue;
+ }
+ }
+
+ /** check whether addition is safe (i.e.\ no overflow occurs) and if so,
+ * perform it (i.e.\ compute a+b=sum). Only works for unsigned types.
+ * @param a first number to add
+ * @param b second number to add
+ * @param sum resulting sum of both numbers, if addition is safe, otherwise
+ * parameter value is not touched by the function
+ * @return OFTrue if addition is safe and could be performed, OFFalse
+ * otherwise
+ */
+ template <typename T>
+ static OFBool
+ safeAdd(T a, T b, T& sum)
+ {
+ assert(!OFnumeric_limits<T>::is_signed);
+ if (OFnumeric_limits<T>::max() - a < b) {
+ return OFFalse;
+ } else {
+ sum = a + b;
+ return OFTrue;
+ }
+ }
+
/** Thread-safe version of gethostbyname.
* @param name the host name.
* @return a OFStandard::OFHostent object.
/** On Posix-like platform, this method executes setuid(getuid()),
* which causes the application to revert from root privileges to
- * thos of the calling user when the program is installed as
+ * those of the calling user when the program is installed as
* setuid root. DCMTK command line tools that open a socket for
* incoming DICOM network connections will call this method immediately
* after opening the socket. Since DICOM by default operates on
/*
*
- * Copyright (C) 2011, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
/** Create a new temporary file.
* @param fileName after this call, this will contain the name of the file
* that was created
- * @param fd if not NULL, this will be set to a file descriptor for this
+ * @param fd_out if not NULL, this will be set to a file descriptor for this
* file
* @param flags additional flags to pass to open() as its third argument
* @param dir the directory in which the file should be created.
../include/dcmtk/ofstd/ofcast.h ../include/dcmtk/ofstd/ofexport.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofstd.h \
- ../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftraits.h
+ ../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftraits.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
ofcmdln.o: ofcmdln.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofchrenc.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/ofchrenc.h
ofconapp.o: ofconapp.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofconapp.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/ofstd/ofchrenc.h
ofcond.o: ofcond.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/ofstd/ofstream.h ../include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
- ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
offname.o: offname.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/offname.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/ofstd/ofstream.h ../include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
- ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
oflist.o: oflist.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/ofstd/ofstream.h
ofmath.o: ofmath.cc ../../config/include/dcmtk/config/osconfig.h \
- ../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstd.h \
- ../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftypes.h \
+ ../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/ofstd/ofmath.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
- ../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstream.h \
- ../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/oftraits.h
ofstd.o: ofstd.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofcast.h ../include/dcmtk/ofstd/ofexport.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/offile.h \
- ../include/dcmtk/ofstd/oftuple.h ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/oftuple.h \
+ ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/ofstd/variadic/tuplefrd.h \
- ../include/dcmtk/ofstd/variadic/tuple.h ../include/dcmtk/ofstd/ofnetdb.h \
- ../include/dcmtk/ofstd/ofvector.h ../include/dcmtk/ofstd/ofgrp.h \
- ../include/dcmtk/ofstd/ofpwd.h ../include/dcmtk/ofstd/ofoption.h \
- ../include/dcmtk/ofstd/ofalign.h
+ ../include/dcmtk/ofstd/variadic/tuple.h ../include/dcmtk/ofstd/ofmath.h \
+ ../include/dcmtk/ofstd/ofnetdb.h ../include/dcmtk/ofstd/ofvector.h \
+ ../include/dcmtk/ofstd/ofgrp.h ../include/dcmtk/ofstd/ofpwd.h \
+ ../include/dcmtk/ofstd/ofoption.h ../include/dcmtk/ofstd/ofalign.h
ofstring.o: ofstring.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/offname.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
- ../include/dcmtk/ofstd/oftraits.h
+ ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
ofthread.o: ofthread.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofthread.h \
- ../include/dcmtk/ofstd/ofconsol.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/ofconsol.h
oftime.o: oftime.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/oftime.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofexport.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
- ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
oftimer.o: oftimer.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftimer.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofstream.h ../include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/ofstd.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
ofxml.o: ofxml.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofxml.h ../include/dcmtk/ofstd/ofstdinc.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
/*
*
- * Copyright (C) 2011-2014, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
TransliterationMode = mode;
return EC_Normal;
#else
+ // avoid compiler warning on unused variable
+ (void)mode;
// return with an error because iconvctl() is not supported
return makeOFCondition(0, EC_CODE_CannotControlConverter, OF_error,
"Cannot control character encoding converter: iconvctl() not supported");
DiscardIllegalSequenceMode = mode;
return EC_Normal;
#else
+ // avoid compiler warning on unused variable
+ (void)mode;
// return with an error because iconvctl() is not supported
return makeOFCondition(0, EC_CODE_CannotControlConverter, OF_error,
"Cannot control character encoding converter: iconvctl() not supported");
// then, try to open a new descriptor for the specified character encodings
return openDescriptor(ConversionDescriptor, fromEncoding.c_str(), toEncoding.c_str());
#else
+ // avoid compiler warning on unused variables
+ (void)fromEncoding;
+ (void)toEncoding;
return EC_NoEncodingLibrary;
#endif
}
status = EC_NoEncodingSelected;
return status;
#else
+ // avoid compiler warning on unused variables
+ (void)descriptor;
+ (void)fromString;
+ (void)fromLength;
+ (void)toString;
+ (void)clearMode;
return EC_NoEncodingLibrary;
#endif
}
return status;
#else
descriptor = ILLEGAL_DESCRIPTOR;
+ // avoid compiler warning on unused variables
+ (void)fromEncoding;
+ (void)toEncoding;
return EC_NoEncodingLibrary;
#endif
}
#ifdef WITH_LIBICONV
return (descriptor != ILLEGAL_DESCRIPTOR);
#else
+ // avoid compiler warning on unused variable
+ (void)descriptor;
return OFFalse;
#endif
}
char errBuf[256];
message.append(OFStandard::strerror(errno, errBuf, sizeof(errBuf)));
status = makeOFCondition(0, code, OF_error, message.c_str());
+#else
+ // avoid compiler warning on unused variables
+ (void)status;
+ (void)message;
+ (void)code;
#endif
}
/*
*
- * Copyright (C) 1998-2012, OFFIS e.V.
+ * Copyright (C) 1998-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
OFCommandLine::E_ParseStatus OFCommandLine::parseArgumentList(OFList<OFString> &argList,
- const int flags)
+ const int /*flags*/)
{
ArgumentList.clear(); // initialize lists/positions
ParamPosList.clear();
/*
*
- * Copyright (C) 2011-2014, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
}
#endif
#endif
+ /* avoid compiler warning on unused variable */
+ (void)convert;
}
}
filename_ = strdup(tmpString.c_str());
}
#endif
+ /* avoid compiler warning on unused variable */
+ (void)convert;
}
}
#endif
#define INCLUDE_CMATH
#define INCLUDE_CFLOAT
+#define INCLUDE_IOSTREAM
#include "dcmtk/ofstd/ofstdinc.h"
-#include "dcmtk/ofstd/ofstd.h"
+#include "dcmtk/ofstd/ofmath.h"
#ifdef HAVE_WINDOWS_H
#define WIN32_LEAN_AND_MEAN
}
#endif /* HAVE_ISINF */
-OFBool OFStandard::isnan( float f )
+OFBool OFMath::isnan( float f )
{
#ifdef HAVE_WINDOWS_H
return _isnan(f) != 0;
#endif
}
-OFBool OFStandard::isnan( double d )
+OFBool OFMath::isnan( double d )
{
#ifdef HAVE_WINDOWS_H
return _isnan(d) != 0;
#endif
}
-OFBool OFStandard::isinf( float f )
+OFBool OFMath::isinf( float f )
{
#ifdef HAVE_PROTOTYPE_STD__ISINF
return STD_NAMESPACE isinf( f );
#endif
}
-OFBool OFStandard::isinf( double d )
+OFBool OFMath::isinf( double d )
{
#ifdef HAVE_PROTOTYPE_STD__ISINF
return STD_NAMESPACE isinf( d );
#include "dcmtk/ofstd/offile.h"
#include "dcmtk/ofstd/ofstream.h"
#include "dcmtk/ofstd/oftuple.h"
+#include "dcmtk/ofstd/ofmath.h"
#define INCLUDE_CMATH
#define INCLUDE_CFLOAT
unsigned char fmtch = 'G';
// check if val is NAN
- if (isnan(val))
+ if (OFMath::isnan(val))
{
OFStandard::strlcpy(dst, "nan", siz);
return;
}
// check if val is infinity
- if (isinf(val))
+ if (OFMath::isinf(val))
{
if (val < 0)
OFStandard::strlcpy(dst, "-inf", siz);
if (!dst || !siz) return;
// check if val is NAN
- if (OFStandard::isnan(val))
+ if (OFMath::isnan(val))
{
OFStandard::strlcpy(dst, "nan", siz);
return;
}
// check if val is infinity
- if (OFStandard::isinf(val))
+ if (OFMath::isinf(val))
{
if (val < 0)
OFStandard::strlcpy(dst, "-inf", siz);
/*
*
- * Copyright (C) 2011-2015, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
stream.fill(fill_char);
}
-static void divide_by(Uint32 n, Uint32 d, Uint32& res, Uint32& rem)
+static void divide_by_10(Uint32 n, Uint32& res, Uint32& rem)
{
// This calculates res = m / d and rem = m % d where m = n + rem * 2^32
// As long as the result isn't 0, divide by 10 and print the remainder
while (data[0] != 0 || data[1] != 0 || data[2] != 0 || data[3] != 0) {
Uint32 rem = 0;
- divide_by(data[0], 10, data[0], rem);
- divide_by(data[1], 10, data[1], rem);
- divide_by(data[2], 10, data[2], rem);
- divide_by(data[3], 10, data[3], rem);
+ divide_by_10(data[0], data[0], rem);
+ divide_by_10(data[1], data[1], rem);
+ divide_by_10(data[2], data[2], rem);
+ divide_by_10(data[3], data[3], rem);
assert(rem <= 9);
buffer[--idx] = OFstatic_cast(char, rem + '0');
/*
*
- * Copyright (C) 2011-2014, OFFIS e.V.
+ * Copyright (C) 2011-2016, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were slightly modified by
// If you plan to "port" the library to a new system/compiler, all you have to do is
// to edit the following lines.
#ifdef XML_NO_WIDE_CHAR
-char myIsTextWideChar(const void *b, int len) { return FALSE; }
+// DCMTK: uncomment parameter names to avoid compiler warnings
+char myIsTextWideChar(const void * /*b*/, int /*len*/) { return FALSE; }
#else
#if defined (UNDER_CE) || !defined(_XMLWINDOWS)
char myIsTextWideChar(const void *b, int len) // inspired by the Wine API: RtlIsTextUnicode
#else
// for gcc and CC
#ifdef XML_NO_WIDE_CHAR
- char *myWideCharToMultiByte(const wchar_t *s) { return NULL; }
+ // DCMTK: uncomment parameter name to avoid compiler warning
+ char *myWideCharToMultiByte(const wchar_t * /*s*/) { return NULL; }
#else
char *myWideCharToMultiByte(const wchar_t *s)
{
+taddsub.o: taddsub.cc ../../config/include/dcmtk/config/osconfig.h \
+ ../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
+ ../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
+ ../include/dcmtk/ofstd/ofcast.h ../include/dcmtk/ofstd/ofexport.h \
+ ../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
+ ../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/oflist.h \
+ ../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
+ ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
+ ../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tatof.o: tatof.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofcast.h ../include/dcmtk/ofstd/ofexport.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oftest.h \
- ../include/dcmtk/ofstd/ofconapp.h ../include/dcmtk/ofstd/ofcmdln.h \
- ../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
- ../include/dcmtk/ofstd/offile.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
+ ../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/ofconsol.h \
+ ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h
tbase64.o: tbase64.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tchrenc.o: tchrenc.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofchrenc.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/ofchrenc.h
tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tftoa.o: tftoa.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tlimits.o: tlimits.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
- ../../config/include/dcmtk/config/arith.h
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/ofmath.h
tlist.o: tlist.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/ofstd.h \
- ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tmap.o: tmap.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofmap.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h ../include/dcmtk/ofstd/ofmap.h \
../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h
tmarkup.o: tmarkup.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tmem.o: tmem.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofmem.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h ../include/dcmtk/ofstd/ofmem.h \
../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h
tofdatim.o: tofdatim.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/ofstd.h \
- ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
toffile.o: toffile.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/ofstream.h ../include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oflist.h \
../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/ofcmdln.h
../include/dcmtk/ofstd/ofcast.h ../include/dcmtk/ofstd/ofexport.h \
../include/dcmtk/ofstd/ofstdinc.h ../include/dcmtk/ofstd/ofstream.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oftest.h \
- ../include/dcmtk/ofstd/ofconapp.h ../include/dcmtk/ofstd/ofcmdln.h \
- ../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
- ../include/dcmtk/ofstd/offile.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
+ ../include/dcmtk/ofstd/ofcmdln.h ../include/dcmtk/ofstd/ofconsol.h \
+ ../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h
toption.o: toption.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofoption.h \
- ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/ofoption.h ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/ofstd/ofalign.h
tstack.o: tstack.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/ofstring.h \
../include/dcmtk/ofstd/ofconsol.h ../include/dcmtk/ofstd/ofthread.h \
../include/dcmtk/ofstd/offile.h ../include/dcmtk/ofstd/ofstd.h \
- ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/oftraits.h ../include/dcmtk/ofstd/ofcond.h \
+ ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tstring.o: tstring.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/oftypes.h \
../include/dcmtk/ofstd/ofdefine.h ../include/dcmtk/ofstd/ofcast.h \
../include/dcmtk/ofstd/oflist.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
tthread.o: tthread.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h
ttuple.o: ttuple.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oftuple.h \
- ../include/dcmtk/ofstd/ofutil.h \
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/oftuple.h ../include/dcmtk/ofstd/ofutil.h \
../include/dcmtk/ofstd/variadic/tuplefwd.h \
../include/dcmtk/ofstd/variadic/tuplefrd.h \
../include/dcmtk/ofstd/variadic/tuple.h
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofuuid.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/ofuuid.h
tvec.o: tvec.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofvector.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h \
+ ../include/dcmtk/ofstd/ofvector.h
txml.o: txml.cc ../../config/include/dcmtk/config/osconfig.h \
../include/dcmtk/ofstd/oftest.h ../include/dcmtk/ofstd/ofconapp.h \
../include/dcmtk/ofstd/oftypes.h ../include/dcmtk/ofstd/ofdefine.h \
../include/dcmtk/ofstd/ofstring.h ../include/dcmtk/ofstd/ofconsol.h \
../include/dcmtk/ofstd/ofthread.h ../include/dcmtk/ofstd/offile.h \
../include/dcmtk/ofstd/ofstd.h ../include/dcmtk/ofstd/oftraits.h \
- ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/ofxml.h
+ ../include/dcmtk/ofstd/ofcond.h ../include/dcmtk/ofstd/oflimits.h \
+ ../../config/include/dcmtk/config/arith.h ../include/dcmtk/ofstd/ofxml.h
--- /dev/null
+/*
+ *
+ * Copyright (C) 2015, Open Connections GmbH
+ * All rights reserved. See COPYRIGHT file for details.
+ *
+ * This software and supporting documentation were developed by
+ *
+ * OFFIS e.V.
+ * R&D Division Health
+ * Escherweg 2
+ * D-26121 Oldenburg, Germany
+ *
+ *
+ * Module: ofstd
+ *
+ * Author: Michael Onken
+ *
+ * Purpose: test program for safe subtraction and addition
+ *
+ */
+
+
+#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
+#define OFTEST_OFSTD_ONLY
+#include "dcmtk/ofstd/oftest.h"
+#include "dcmtk/ofstd/ofstd.h"
+
+
+OFTEST(ofstd_safeSubtractAndAdd)
+{
+ // --------------- Subtraction ----------------
+
+ unsigned int a = 1;
+ unsigned int b = 2;
+ // check whether underflow occurs (it should)
+ OFCHECK(OFStandard::safeSubtract(a, b, a) == OFFalse);
+ // check whether a has not been modified
+ OFCHECK_EQUAL(a, 1);
+
+ a = OFnumeric_limits<unsigned int>::max();
+ b = OFnumeric_limits<unsigned int>::max()-1;
+ // check whether no underflow occured (it shouldnt)
+ OFCHECK(OFStandard::safeSubtract(a, b, a) == OFTrue);
+ // check whether the result a was computed as expected
+ OFCHECK_EQUAL(a, 1);
+
+ // --------------- Addition ----------------
+
+ a = OFnumeric_limits<unsigned int>::max()-1;
+ b = OFnumeric_limits<unsigned int>::max()-1;
+ // check whether overflow occured (it should)
+ OFCHECK(OFStandard::safeAdd(a, b, a) == OFFalse);
+ // check whether a has not been modified
+ OFCHECK_EQUAL(a, OFnumeric_limits<unsigned int>::max()-1);
+
+ b = 1; // a still equals max-1
+ // check whether no overflow occured (it shouldnt)
+ OFCHECK(OFStandard::safeAdd(a, b, a) == OFTrue);
+ // check whether the result a was computed as expected.
+ // dividing and then multiplying by 2 is required since max maybe be an
+ // odd number so that max/2 is rounded to the floor number.
+ OFCHECK_EQUAL(a, OFnumeric_limits<unsigned int>::max());
+}
OFTEST_REGISTER(ofstd_optional);
OFTEST_REGISTER(ofstd_tuple);
OFTEST_REGISTER(ofstd_limits);
+OFTEST_REGISTER(ofstd_safeSubtractAndAdd);
OFTEST_MAIN("ofstd")
#include "dcmtk/ofstd/oflimits.h"
#include "dcmtk/ofstd/ofstd.h"
#include "dcmtk/ofstd/oftraits.h"
+#include "dcmtk/ofstd/ofmath.h" // for isinf and isnan
template<typename T>
static void checkMinMax()
OFCHECK
(
OFnumeric_limits<T>::max() >= max_plus_one ||
- ( OFnumeric_limits<T>::has_infinity && OFStandard::isinf( max_plus_one ) )
+ ( OFnumeric_limits<T>::has_infinity && OFMath::isinf( max_plus_one ) )
);
OFCHECK
(
OFnumeric_limits<T>::lowest() <= lowest_minus_one ||
- ( OFnumeric_limits<T>::has_infinity && OFStandard::isinf( lowest_minus_one ) )
+ ( OFnumeric_limits<T>::has_infinity && OFMath::isinf( lowest_minus_one ) )
);
OFCHECK( ( OFnumeric_limits<T>::lowest() == OFnumeric_limits<T>::min() ) || !OFnumeric_limits<T>::is_integer );
}
template<typename T>
static OFTypename OFenable_if<OFnumeric_limits<T>::has_quiet_NaN>::type checkNaN()
{
- (OFStandard::isnan)( OFnumeric_limits<T>::quiet_NaN() );
+ (OFMath::isnan)( OFnumeric_limits<T>::quiet_NaN() );
}
template<typename T>
template<typename T>
static OFTypename OFenable_if<OFnumeric_limits<T>::has_infinity>::type checkInfinity()
{
- (OFStandard::isinf)( OFnumeric_limits<T>::infinity() );
+ (OFMath::isinf)( OFnumeric_limits<T>::infinity() );
}
template<typename T>
OFCHECK_EQUAL(result.getCharPointer(), nullPtr);
OFCHECK(OFStandard::removeRootDirFromPathname(result, nullPtr, nullPtr).good());
}
+
+
+OFTEST(ofstd_safeSubtractAndAdd)
+{
+ // --------------- Subtraction ----------------
+
+ unsigned int a = 1;
+ unsigned int b = 2;
+ // check whether underflow occurs (it should)
+ OFCHECK(OFStandard::safeSubtract(a, b, a) == OFFalse);
+ // check whether a has not been modified
+ OFCHECK_EQUAL(a, 1);
+
+ a = OFnumeric_limits<unsigned int>::max();
+ b = OFnumeric_limits<unsigned int>::max()-1;
+ // check whether no underflow occured (it shouldnt)
+ OFCHECK(OFStandard::safeSubtract(a, b, a) == OFTrue);
+ // check whether the result a was computed as expected
+ OFCHECK_EQUAL(a, 1);
+
+ // --------------- Addition ----------------
+
+ a = OFnumeric_limits<unsigned int>::max()-1;
+ b = OFnumeric_limits<unsigned int>::max()-1;
+ // check whether overflow occured (it should)
+ OFCHECK(OFStandard::safeAdd(a, b, a) == OFFalse);
+ // check whether a has not been modified
+ OFCHECK_EQUAL(a, OFnumeric_limits<unsigned int>::max()-1);
+
+ b = 1; // a still equals max-1
+ // check whether no overflow occured (it shouldnt)
+ OFCHECK(OFStandard::safeAdd(a, b, a) == OFTrue);
+ // check whether the result a was computed as expected.
+ // dividing and then multiplying by 2 is required since max may be be an
+ // odd number so that max/2 is rounded to the floor number.
+ OFCHECK_EQUAL(a, OFnumeric_limits<unsigned int>::max());
+}